This is a 2017 Toyota RAV4 Hybrid in 3R3 Dark Red Mica, the Czech-market version, built in Blender 5.2 without anyone else’s 3D model. Every panel is a signed-distance field written in Python, meshed with marching cubes and rendered in Cycles. The shapes come from two blueprints, the dimensions from the Toyota CZ price list and the US brochure, and the details were checked against reference photos from the same camera angle.
The prompt
I gave this to Claude Code (Claude Opus 5.5) as one message:
Using Blender 5.2 and any searching you want, create a Toyota RAV4 2017 hybrid in the red wine color. Do a high-fidelity render, including the surface subsurface scattering of the paint. Pay attention to all details of the roof racks, curvature of glass, etc. Verify all of the details before stopping. If you are not using somebody else’s 3D model, ideally do it from scratch, but get photos online to compare it with from the same angle and spot potential mistakes.
The paint is layered: a pigmented base with subsurface scattering (red travels furthest under the surface), a face-to-flop colour shift, mica flakes with jittered normals and a clear coat on top.
The one correction
The front of the car still doesn’t have the correct curve. You can use some algorithm to properly just ideate freestyle how to correctly match the curvature of the front of the car from the few comparison photos that are of the front. Also, the back lights are set up incorrectly. Effectively, you have the loss from doing the outline on top of the other outline, where the door separation cannot go through the handle and stuff like that.
The first version traced everything from blueprints, drawing one outline over another. A side-view outline on top of a front-view outline is how a door gap ends up running through a door handle. The fix went through the photos instead:
- Cameras from silhouettes. Each reference photo got a camera fitted to the car’s outline (Mask R-CNN and SAM masks, then ICP on the outline, including one lens distortion term).
- Triangulated landmarks. Lamp tips, chrome strip ends, intake ends, fog lamps, plate corners and emblems were clicked in several photos and triangulated into 3D points.
- A smooth warp. The first attempt pulled the surface to those points with Gaussian bumps, and a zebra-stripe check showed the hood rippling. Now it is one cubic B-spline displacement field per axis, fitted by least squares with a bending penalty, so the whole front bends together.
- Parts at their photo positions. Headlamps, grille, fog pockets, tail lamps, plate recess and badges sit at the triangulated points. Door shut lines and handles were read off the side photo, so each handle ends just ahead of its door gap.
Against the photo outlines the front is within 3 mm in six photos and within 9 mm in two more.
Render ‒> photo
The shape lines up. The biggest visible difference is the lower bumper: the real one has a dark grey X-shaped frame around the grille and fog lamps, the model has it in body colour. The hood also misses two soft creases running back from the headlamps.
Renders
Checks
| Spec | Model | |
|---|---|---|
| Length | 4605 mm | 4620 mm |
| Width without mirrors | 1845 mm | 1846 mm |
| Height with roof rails | 1704-1715 mm | 1714 mm |
| Wheelbase | 2660 mm | 2659 mm |
| Track | 1560 mm | 1560 mm |
| Tyres | 235/55 R18 | 235/55 R18 |
The first version was 1902 mm wide. The lower body had been measured on a front silhouette that already included the arch flares, and the cladding then added 13 mm per side on top.