AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Vehicle Model

skill-summerengine-summer-engine-agent-vehicle-model · by SummerEngine

Use when generating a hard-surface vehicle — car, motorcycle, spaceship, hover bike, boat, mech, tank, helicopter. Static mesh, optional secondary detail-texture pass, wired as Vehicle3D (player-driven) or MeshInstance3D (background). Trigger on "make a car", "spaceship model", "generate a mech", "I need a vehicle", "hover bike", "tank model", "racing car".

No reviews yet
0 installs
4 views
0.0% view→install

Install

$ agentstack add skill-summerengine-summer-engine-agent-vehicle-model

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-summerengine-summer-engine-agent-vehicle-model)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Vehicle Model? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Vehicle Model — Hard-Surface 3D Generation

Vehicles are the hardest 3D-gen category. Hard surfaces (flat panels, sharp edges, symmetrical bodies) expose every flaw the AI mesher has — smoothing-group artifacts on flat panels, asymmetric headlights, melted door seams. This skill exists to push the success rate up by giving the model multi-angle reference, picking the right backend, and using a secondary detail-texture pass to recover crispness on the body panels.

Backing tool: summer_generate_3d. Default model is hunyuan (best general quality). For pure hard-surface (clean spaceship, F1 car), try trellis first — it tends to preserve panel edges better.

When to use

  • "Make me a player car for a racing game."
  • "Generate a sci-fi fighter spaceship."
  • "I need a hover bike for the desert level."
  • "Create a mech for the boss fight."
  • "Background traffic — generate three civilian sedans."

When NOT to use

  • Character driving the vehicle → that's summer:3d-assets/character-model. Generate them separately and parent the character to the vehicle's seat.
  • Vehicle interior (cockpit, dashboard) as a first-person view → generate as a separate "interior" prop via summer:3d-assets/prop-model with first-person framing.
  • A scenery vehicle that never moves and is far from camera (parked truck in the distance) → summer:3d-assets/prop-model is fine; vehicle-model's overhead isn't worth it.
  • Procedural / customizable vehicles (modular ship parts) → use summer:3d-assets/environment-kit to generate a vehicle-parts kit instead.

Polycount targets

| Use case | Tris | Pass via | |---|---|---| | Player vehicle (close camera, lots of screen time) | 15k–30k | target_polycount: 25000 | | Hero showpiece (cinematic, garage view) | 30k–60k | target_polycount: 50000 | | Background traffic (mid-range, multiple onscreen) | 2k–5k | target_polycount: 4000 | | Distant flyby / parked scenery | 1k–2k | target_polycount: 1500 |

Vehicles benefit more from polycount than props — flat panels need edge density to look right. Don't go below 2k for anything the camera will get close to.

Multi-angle reference — the single biggest quality lever

Vehicles are highly view-dependent. A front-only reference produces a mesh with great front detail and a melted rear. The fix: generate a front + 3/4 side composite reference before the 3D pass.

summer_generate_image(
  prompt="A sleek red sports car, front view AND 3/4 rear-side view side by side, two angles in one image, white background, studio lighting, clean references for 3D modeling, isolated, no scenery."
)

Most image models will produce a two-view composite. Then feed it to image-to-3D:

summer_generate_3d(
  kind="image-to-3d",
  imageUrl="",
  model="hunyuan",
  options={ target_polycount: 25000 }
)

If the user has reference images already (concept art, photos), prefer those — composite them into a single image first if they aren't already.

Steps

1. Search before generating

summer_search_assets(query="", assetType="3d_model", source="all")

2. Pick model and polycount

For hard-edged vehicles (spaceships, F1, mechs), try trellis first — sharper panel edges. For organic-curved vehicles (muscle cars, motorcycles, classic boats), hunyuan handles the curves better.

3. Build the prompt

Pattern: + + + + isolated suffix.

| Goal | Prompt that works | |---|---| | Player race car | A sleek modern Formula 1 race car, aerodynamic carbon-fiber bodywork, large rear wing, exposed wheels, racing livery in red and white. Front and 3/4 side views. Game asset, stylized, clean white background, isolated vehicle. | | Sci-fi fighter | A sleek single-seat sci-fi space fighter, swept-forward wings, twin engine nacelles, glass cockpit canopy, painted matte gray with cyan trim. Front and 3/4 side views. Game asset, stylized hard-surface, white background, isolated vehicle. | | Hover bike | A rusted desert hover bike, exposed engine block, single seat, handlebars, no wheels (hover thrusters underneath), weathered orange paint. Front and 3/4 side views. Game asset, stylized, white background, isolated vehicle. | | Mech | A 4 meter tall bipedal combat mech, blocky armored torso, articulated arms with rifle and missile pod, thick legs with hydraulic pistons, painted olive drab with hazard stripes. Front and 3/4 side views. Game asset, hard-surface stylized, white background, isolated vehicle. | | Background sedan | A generic 90s civilian sedan, four doors, beige paint, slightly worn. Front and 3/4 side views. Game asset, low-detail stylized, white background, isolated vehicle. |

The phrase front and 3/4 side views is what triggers the multi-angle composite reference internally.

4. Confirm and call

> About to generate red_race_car via hunyuan, target ~25k tris, multi-angle ref. ~$0.60, ~90s. OK?

summer_generate_3d(
  prompt="A sleek modern Formula 1 race car, ...",
  model="hunyuan",
  options={ target_polycount: 25000 },
  wait=true
)
summer_get_asset(assetId="")
summer_import_asset_by_id(assetId="", path="res://assets/vehicles/race_car.glb")

5. Inspect for hard-surface artifacts

summer_inspect_resource(path="res://assets/vehicles/race_car.glb")

Open the import preview. Look for:

  • Smoothing-group artifacts on flat panels (visible as banding under light) → fix in step 6 with a detail texture, or re-import with Generate Tangents = on and a custom shader.
  • Asymmetric headlights / wheels → regenerate with symmetric, mirrored bilateral added to the prompt.
  • Melted door seams / panel gaps → run the detail-texture pass (step 6).

6. Optional: secondary detail-texture pass

For hero vehicles, run a texture-only pass to recover panel-line crispness without re-meshing:

summer_generate_3d(
  kind="texture",
  imageUrl="",
  model="hunyuan",
  options={ target_polycount: 25000 }  // matched to existing mesh
)

This re-textures the existing mesh with sharper detail — panel lines, decals, weathering. Cheaper than re-meshing. Apply via material override in the editor.

7. Wire into the scene

| Use case | Parent type | Notes | |---|---|---| | Player-driven (car, bike, hover) | VehicleBody3D (Godot 4.5 wheeled) or RigidBody3D (free physics) | Add VehicleWheel3D children for wheeled vehicles | | Player-driven (spaceship, mech) | RigidBody3D or CharacterBody3D | Custom thrust / walk code, see summer:character-controllers | | Background scenery (parked, flyby) | MeshInstance3D under a Node3D | No physics, no collision needed for distant traffic | | Background traffic (moving but not interactive) | Node3D + AnimationPlayer driving the position | Cheap, no physics overhead |

Player car wiring:

summer_add_node(parent="./World", type="VehicleBody3D", name="RaceCar")
summer_add_node(parent="./World/RaceCar", type="MeshInstance3D", name="Body")
summer_set_prop(path="./World/RaceCar/Body", property="mesh", value="res://assets/vehicles/race_car.glb")
summer_add_node(parent="./World/RaceCar", type="CollisionShape3D", name="Collider")
# Add a BoxShape3D resource matched to the AABB
# Add VehicleWheel3D children at each wheel position
summer_save_scene

Background scenery wiring:

summer_add_node(parent="./World/Street", type="MeshInstance3D", name="ParkedSedan")
summer_set_prop(path="./World/Street/ParkedSedan", property="mesh", value="res://assets/vehicles/sedan.glb")
summer_save_scene

Anti-patterns

  • Single-angle reference for a hero vehicle. Front-only → melted rear. Always go multi-angle for anything the player gets close to.
  • Flat-shaded prompt for hard surfaces. "Smooth shading", "rounded edges" → loses the panel-line crispness that defines vehicles. Prefer "hard-surface", "panel-lined", "crisp edges".
  • Skipping symmetry callouts. Vehicles are bilaterally symmetric — without symmetric, mirrored you get one headlight bigger than the other 30% of the time.
  • Asking the mesh pass to invent decals / liveries. It can't — the mesh has the silhouette but the decals get geometry-baked weirdly. Use the texture pass for liveries.
  • Wrapping a background sedan in VehicleBody3D. Wastes physics for a parked car. Use MeshInstance3D under Node3D.
  • Picking meshy (legacy). Worse hard-surface fidelity than hunyuan or trellis.

Edge cases

  • Tracked vehicle (tank). AI mesh-gen handles the hull but the tracks come back as a fused ring. Generate the hull only, then add tracks as a separate summer:3d-assets/prop-model (or use a tiled texture on a torus). For animation, scroll the track texture's UV.
  • Articulated vehicle (mech with shoulders, hips, knees). The mesh is one piece — joints aren't separated. For animated mechs, treat as a humanoid: generate as summer:3d-assets/character-model with the rig pass, then animate via summer:animation/generate-motion (custom backend, prompt as "mech walks heavily").
  • Vehicle with rotor (helicopter, drone). Generate without rotor, then add the rotor as a separate summer:3d-assets/prop-model and parent it. Spin via code in _process.
  • Open-top vehicle (convertible, jeep). Specify "open top, no roof" — defaults often add a roof.
  • The user wants the cockpit interior visible. Generate exterior here, then a separate summer:3d-assets/prop-model for the interior, and switch meshes when the camera enters first-person view.

Fallback (no MCP)

  1. Generate the multi-angle reference at the Summer dashboard (or Midjourney / nano-banana web).
  2. Upload to Hunyuan or Trellis web playground → image-to-3D → download .glb.
  3. Drop into res://assets/vehicles/.
  4. Wire as VehicleBody3D / MeshInstance3D in the Godot editor manually.

Handoff

After the vehicle is wired:

> race_car.glb placed at ./World/RaceCar as a VehicleBody3D. Next: > - Vehicle controls: WASD steering / accel — see summer:character-controllers for the vehicle controller pattern (or write directly with engine_force, steering, and brake on VehicleBody3D). > - Driver character: generate via summer:3d-assets/character-model and parent to the seat position. > - Engine sound + tire screech: summer:audio/sound-effect for one-shots, summer:audio/ambient-bed for the engine loop. > - Particles: exhaust smoke, dust trail, sparks on collision — summer:vfx/particles (when available) or built-in GPUParticles3D.

See also

  • summer:3d-assets/character-model — for the driver/pilot.
  • summer:3d-assets/prop-model — for separable parts (rotors, decals as decals, modular kit pieces).
  • summer:asset-pipeline/asset-strategy — meta-router.
  • summer:character-controllers — for player-driven vehicle input wiring.
  • references/mcp-tools-reference.mdsummer_generate_3d schema, including kind: "texture" for the secondary detail pass.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.