From summer
Generates hard-surface 3D vehicle models (car, spaceship, mech, boat, tank, helicopter) with multi-angle reference and optional detail-texture pass. Wires as Vehicle3D or MeshInstance3D with polycount targets per use case.
How this skill is triggered — by the user, by Claude, or both
Slash command
/summer:vehicle-modelassets/vehicles/**assets/models/****/*.tscn**/*.gdThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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 rec...
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.
summer:3d-assets/character-model. Generate them separately and parent the character to the vehicle's seat.summer:3d-assets/prop-model with first-person framing.summer:3d-assets/prop-model is fine; vehicle-model's overhead isn't worth it.summer:3d-assets/environment-kit to generate a vehicle-parts kit instead.| 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.
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="<composite reference url>",
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.
summer_search_assets(query="<vehicle type>", assetType="3d_model", source="all")
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.
Pattern: <vehicle type> + <silhouette / era / style> + <materials> + <surface state> + 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.
About to generate
red_race_carviahunyuan, 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="<assetId>")
summer_import_asset_by_id(assetId="<assetId>", path="res://assets/vehicles/race_car.glb")
summer_inspect_resource(path="res://assets/vehicles/race_car.glb")
Open the import preview. Look for:
Generate Tangents = on and a custom shader.symmetric, mirrored bilateral added to the prompt.For hero vehicles, run a texture-only pass to recover panel-line crispness without re-meshing:
summer_generate_3d(
kind="texture",
imageUrl="<original front-view reference>",
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.
| 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
symmetric, mirrored you get one headlight bigger than the other 30% of the time.meshy (legacy). Worse hard-surface fidelity than hunyuan or trellis.summer:3d-assets/prop-model (or use a tiled texture on a torus). For animation, scroll the track texture's UV.summer:3d-assets/character-model with the rig pass, then animate via summer:animation/generate-motion (custom backend, prompt as "mech walks heavily").summer:3d-assets/prop-model and parent it. Spin via code in _process.summer:3d-assets/prop-model for the interior, and switch meshes when the camera enters first-person view..glb.res://assets/vehicles/.After the vehicle is wired:
race_car.glbplaced at./World/RaceCaras a VehicleBody3D. Next:
- Vehicle controls: WASD steering / accel — see
summer:character-controllersfor the vehicle controller pattern (or write directly withengine_force,steering, andbrakeon VehicleBody3D).- Driver character: generate via
summer:3d-assets/character-modeland parent to the seat position.- Engine sound + tire screech:
summer:audio/sound-effectfor one-shots,summer:audio/ambient-bedfor the engine loop.- Particles: exhaust smoke, dust trail, sparks on collision —
summer:vfx/particles(when available) or built-in GPUParticles3D.
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.md — summer_generate_3d schema, including kind: "texture" for the secondary detail pass.npx claudepluginhub summerengine/summer-engine-agent --plugin summerModels vehicles (cars, trucks, aircraft, ships, mechs) with proportion blockout, panel flow, and game LOD awareness in Blender via MCP.
Guides vehicle design for games, film, and concept art, covering proportion, silhouette, and form language for cars, spacecraft, mechs, and military vehicles.
Generate 3D models from text or images using each::sense AI. Outputs GLB, GLTF, OBJ, FBX, USDZ for games, products, architecture, and more. Includes PBR textures.