logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Mustang: Using Houdini & Unreal Engine 5 For Automotive Renders

EVR Studio shared a detailed overview of its Mustang 1965 project, explained how the scene and the car were set up in Houdini and Unreal Engine 5, discussed how the sand was simulated, and detailed its approach to lighting and rendering.

The Mustang Project

The Mustang 1965 project was started as part of our internal R&D effort in February of 2023. We started the project to make it as high quality as possible by doing everything from scene composition and rigging to animation, lighting, and rendering in Unreal Engine.

During the pre-production, we focused more on level design, materials, and lighting look-dev’s, hence the theme of nature and cars. Additionally, we chose an off-road setting, so we wanted to capture the fun of the Mustang's powerful drifts with dust effects, which required additional R&D to accurately match Unreal's rendering results with Houdini's.

Procedural Landscape Generation

Unreal Engine's Landscape mode allowed procedural creation with the advantage of being able to use sculpting freely. In order, we created a basic dummy in Maya and imported it into Unreal.

Because the scale of the basic dummy could be measured and the silhouette of the terrain could be confirmed in advance, sculpting was quickly carried out according to the dummy. The key during this process was to be quick and iterative. Rather than doing precise work one by one, it was possible to save time and work faster by repeatedly sculpting the entire map little by little. This method applied to both mountain and desert terrains and was considered the most important part of landscape work.

The characteristic of the road was that it had a flat terrain. Since we couldn't create a flat terrain using only Sculpting mode, we were able to create a flat terrain using Flatten mode. Conversely, for sloped terrain, it was easy to create a slope in the desired section using Ramp mode. When a certain sense of form was created, the material was added. The reason we didn't put the material in first was that we needed to get the shape and scale right. Due to the nature of the landscape, there was an issue with stretched materials above a certain Z-axis scale value or when there was a steep slope. This can't be fixed by giving it a stronger normal value or adding more sculpting around it. So, the approach used to increase the detail was to use a static mesh.

Because the nature of mountain terrain required strong rock texture, placing a static mesh increased detail and reduced awkwardness. One thing to note here was that if the mesh was placed throughout the level, the data would increase, so Packed Level Instances were used to manage the level mesh. The same goes for desert terrain. By working through this entire process repeatedly, we were able to create the current level.

Other than this, we did not use a specific height texture for the brush type and did not create the landscape through an external program. However, observing the reference image and expressing it accurately was the most helpful.

Setting Up the Car Materials

We analyzed and worked on the actual Mustang material layer by layer, trying to make it look as realistic as possible. The quality of the clearcoat material was the most important aspect. By setting it to Clearcoat, one of the shading models provided by Unreal Engine, we were able to separate materials for the inside and outside of the coating. The internal materials are implemented through texture maps created using Substance 3D Painter and the external materials were created through nodes such as Clearcoat Roughness/Normal, etc. Finally, we created additional Flake and Specular Color features to represent the car's realistic materials, and additional scene-specific materials like dirt were detailed with decals to make the Mustang look more like its real-world counterpart.

Simulating Sand in Houdini

Unreal's Niagara system can nonetheless be a powerful tool. However, for the amount of detail required to accomplish this project, SideFX Houdini had to be used. The XR department's focus has always been on creating media art with a fast – if not real-time – rendering process. Unfortunately, Houdini doesn't quite fit in there as CPU rendering and simulation would take an extensively long time. Thus, a compromise had to be made: the maximum usage of GPU to speed up the process.

The volumetric simulations were created with Axiom, the GPU-based volumetric fluid solver developed by Theory Accelerated. Not only that, the rendering was done with Redshift, which is another GPU-based renderer developed by Maxon. All assets were brought into Houdini with USD files, which is an open, extensible ecosystem for describing, compositing, simulating, and collaborating within 3D worlds developed by Pixar.

A vast amount of reference videos had to be watched to understand and analyze the nature of dust and how it behaves (in contrast to something like hot steam) in different scenarios.

A thorough understanding of a 1965 Ford Mustang and vehicle dynamics was required as well. Old Mustangs didn't come with an undertray, which led us to think the dust would get kicked up into the engine bay and some would get pushed out through the vents of the hood. Being a rear-wheel drive car, most of the dust needed to be propelled from the rear wheels, but our desire to have the dust wrap around the car led us to animate it understeer rather than oversteer, which would have the front driver's side wheel point the inner circle of the turn, so the tire would lift the dust.

Rendering and Lighting

To match the rendering results in Unreal and Houdini, we first needed to accurately extract the assets and animations from Unreal and pass them to Houdini. During the extraction process, there was a problem with the car actor's subcomponent animation not being displayed accurately. So rather than using FBX, the modifiable USD was used, and we automated the process by exporting the scene, reading the transform values of the subcomponents every frame, and modifying the corresponding USD file.

The version of Unreal we selected was NVIDIA NvRTX 5.1.0_Caustics. We made this choice because, in the original version of Unreal, reflections from transmissive glass would not come out correctly on highly reflective materials and would appear black.

The lighting concept was to set the first half of the shot in the afternoon, when the Mustang and the environment are clearly visible, so that the Mustang's impression stands out with strong contrast, while the second half was set at sunset for dramatic effect, with long shadows and frequent lens flares. HDRI was used for all shots, but the sky visible in the image and the environmental light used in the scene were separated and the intensity and direction were adjusted separately for each shot.

When lighting an environment with a single HDRI, it is sometimes necessary to force the HDRI to orient in the direction of the key light, so it is artistically correct to separate the HDRI sky seen in the shot from the light applied to the shot.

The volume clouds that come with Unreal are very cool and set up well, but they require a lot of work to make them look realistic, so for non-game videos, it's better to use HDRI for lighting concepts. 

Conclusion

The total duration of the project was nine weeks from the R&D to the final renders of all five shots.
Houdini paired with Axiom and Redshift was the right choice for the project. A couple of other effects software programs were tested during the R&D but none were very successful.

As far as the workflow between Unreal and Houdini, the use of USD was crucially helpful as it allowed smooth exchanges from one program to another.

EVR Studio

Interview conducted by Arti Burton

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more