The Last of Us: Part II...Submerged Vehicles

I had two roles on The Last of Us: Part II, one as the vehicle specialist (asset creation, art/technical pipeline, management of library) and the other as a level artist (textures, shaders, assets etc).
---
I'll be posting a gallery for each of the vehicle 'looks' that I created, this was termed the 'submerged' look. This was one of the most difficult looks for the vehicles, I wanted the vehicles to look well integrated in water spaces (of which there are many) and to react well when placed at any submerged height or angle by artists. This meant the shader look had to be somewhat procedural and just 'react' to the placement - like all vehicles, I wanted little to know effort from the team at making them look good. In order to achieve this I worked with Dongsub Woo, one of our amazing technical team on a new tool that would allow the team to very easily 'set' the water height. Dongsub engineered this tool to then communicate the height and rotation values of a vehicle to my shader which would drive all of my blending effects...very cool and very easy!
---
The Last of Us: Part II...background information on vehicles
---
There are 500 vehicles in the Naughty Dog vehicle library, all created for The Last of Us: Part II
---
Given the scale of the project and the amount of vehicles that were depicted in concepts, I knew that accepting the responsibility of being the vehicle specialist, on top of my other level art responsibilities would be a huge challenge. Without a dedicated team to work on vehicles for the duration of the project, I focused on developing a pipeline that could not only produce the highest quality assets, but that could also be done within an efficient time frame.
---
While I modeled a large amount of vehicles, often saving the 'hero' vehicles or the entire military series for myself, I am also incredibly thankful to our outsource vendors for their help with many vehicle modelling/uv'ing tasks. There are many vehicles that our vendors modeled almost entirely before I would then receive them, add additional details and carry out my texturing/shading/technical setup pipeline.
---
I'm also indebted to my friend Tyler Moore, in the final stages of production he was invaluable in helping to troubleshoot the thousands (!) of collision, traversal, cover and melee bugs that we ran into. Tyler also was instrumental in ensuring that background artists had the vehicle variations they needed. I had set up the template materials to define the 'looks' for each vehicle type and Tyler did a great job of propagating those looks to other vehicles when bg required them, as well as helping to optimize 'the fleet' when the time came.
---
I'd also like to thank my Leads, Andres Rodriguez and Christian Nakata for trusting me with such a monumental task and for their support along the way, as well as Waylon Brinck, Florent Devillechabrol, Ke Xu, Steven Tang and Dongsub Woo (and many others) for their technical and graphics expertise that was essential in the process.

The submerged 'look' was incredibly challenging to make and even required us to create a new tool that could allow artists to easily determine a water height, that would then communicate all of the necessary values to my shaders, driving the blends

The submerged 'look' was incredibly challenging to make and even required us to create a new tool that could allow artists to easily determine a water height, that would then communicate all of the necessary values to my shaders, driving the blends

This image shows how multiple shaders on a vehicle would all react consistently to a water height, no matter how the vehicle was placed. The result was also heavily optimized, where expensive/red pixels were kept to a minimum as the blends updated

When used in conjunction with my leaf-kits the results were quite convincing. The leaf-kits also had shaders that could react to 'wetness' parameters automatically in levels

When used in conjunction with my leaf-kits the results were quite convincing. The leaf-kits also had shaders that could react to 'wetness' parameters automatically in levels

An example shot from a test scene of mine, we also had versions of the submerged vehicles for dry levels, where rain streaks were replaced with a dirtier, dusty treatment

An example shot from a test scene of mine, we also had versions of the submerged vehicles for dry levels, where rain streaks were replaced with a dirtier, dusty treatment

Making the glass alpha materials render correctly against water took a lot of testing and of course, expert programming know-how from our programming team, especially Stephen Merendino

The flooded city artists made great use of the submerged shaders, seeing them populate their spaces with tonnes of these vehicles was really cool

The flooded city artists made great use of the submerged shaders, seeing them populate their spaces with tonnes of these vehicles was really cool

This isn't quite all of the vehicles made for submerged situations, there were also specifically 'wet' versions for rainy levels and 'mid' versions for distant vista areas

This isn't quite all of the vehicles made for submerged situations, there were also specifically 'wet' versions for rainy levels and 'mid' versions for distant vista areas

I quite enjoyed making these test scenes and playing around in them, useful for testing shaders and tech but also just for enjoying the game mechanics without being shot at!

When fully submerged, the entire vehicle would automatically adopt an algae covered appearance, all alpha shaders (glass) would also automatically become opaque and less costly to render

When fully submerged, the entire vehicle would automatically adopt an algae covered appearance, all alpha shaders (glass) would also automatically become opaque and less costly to render

As well as the water-line shader effects, additional set dressing like these lily pads and debris assets I placed in one of my levels would also help sell the look of a vehicle long since abandoned in deep water

As well as the water-line shader effects, additional set dressing like these lily pads and debris assets I placed in one of my levels would also help sell the look of a vehicle long since abandoned in deep water

A breakdown of the shader layers used to achieve this particular look, the next video shows the tool we used to drive these shaders in action

A breakdown of the shader layers used to achieve this particular look, the next video shows the tool we used to drive these shaders in action

Here I show how quickly multiple shaders (glass, wheels, interior, exterior, undercarriage) all update to the position of the water object. I simply select the plane, then vehicle and press a button in our tool whenever I want to update the angle/position