Stellantis · R&D internship · 2026
The brief was one car, seen from inside and outside, in VR. Physics makes a car move naturally, but running it while a headset renders costs too much. My answer: run the physics once, write the result into the scene as USD animation, and let VR play it back. The single car grew into traffic, and a scenario came down to three inputs: a route drawn from above, a target speed and where to stop.
Each usual way of moving a car met one of these needs and failed another.
Path animation was built and working. Live physics was the obvious upgrade. Baking was the idea that kept the strengths of both and dropped their costs.
| Compared on | Option APath animation, live | Option BPhysics, live in VR | Option C · the choicePhysics, baked into USD |
|---|---|---|---|
| Motion | Approximated. Lean and dip are added on top. | Natural | Natural, recorded from the simulation |
| Cost while VR renders | Low | Too heavy | Low. Stored poses are played back. |
| Route height | Has to be fitted to the road | Physics finds the road | Physics finds the road |
| Plays without the tool | No | No | Yes. It is part of the scene. |
| Verdict | Light, but the motion is approximated | Natural, but too heavy for a headset | Natural, light and quick to set up |
The physics runs once, while the scenario is being built, away from the headset. The run is written into the scene as USD animation: one stored pose per frame for the body, the wheels and the steering. In VR, those poses are only played back. The headset never runs a simulation.
A video of the drive would fix the camera. USD keeps the drive as motion in the 3D scene, so the viewer can sit in the car and look anywhere. USD is also the open scene format Omniverse is built on, so the motion is data in the scene, like a model or a material. That turns one physics run into an asset.
In a physics run, the work is split in two. The scenario decides where the car goes, how fast and where it stops. Physics decides what the road does to it. The route never has to follow the road's height, only its shape seen from above. Nobody fits it to slopes, crests or dips, so a new route is quick to draw.
The author sets one speed and places one sign. The braking before the corner and the crest, the stop, the wait and the pull-away all follow from them.
The scenario engine builds and bakes drives. The player turns baked drives into traffic in VR. They meet only in the baked USD, so each can evolve on its own as long as the file holds.
I framed the problem, chose the approach, planned the steps, built both extensions and wrote the guides. Each step ended with a version that ran in Omniverse and was checked in the scene. The scope grew only once the previous step held.
The scope was mine to propose and the business team's to accept.
This case describes the approach at a general level. The project's code, scenes and internal results belong to Stellantis.
Contact