Working on virtual reality games is a strange balance between high tech and low tech - running on mobile chips, the hardware limitations are everything. On the other hand, animation is a notoriously expensive process - so to create a game with hundreds of creatures moving around on screen at once, you have to approach things a little differently...
For Nalu, a game taking place underwater with various sea creatures, this meant reducing or completely removing skeleton based rigs. With only 8 weeks to create the entire experience, it was my job as producer to make sure our approach was as streamlined as possible - that meant settling on both lightweight and time efficient solutions.
Ditching the Rigs
Taking cues from games like Abzu, the schooling fish were animated using vertex displacement materials. By standardizing the fish UVs to all be oriented with this in mind, a procedural gradient could be coded inside the material to fluctuate on a sin wave, and by blending with with a standardized mask. What this means is a texture map could be used with math calculations within a material, to know how much to push each vertex to create a side to side or up and down movement on certain body parts.
Combining this with giving their colored texture atlases, this meant every schooling fish variant was powered by a single material, allowing schools of fish to run with very little performance cost!
This technique worked for the smallest of fish to our largest creature in the game, the blue whale!
When in Doubt, Weightpaint it Out
The Dolphins posed an entirely different problem - unlike the fish, we wanted to include the ability for the dolphins to interact in a more controlled manner, while not taxing the. system too much. The initial rig had around 30 bones, but I knew we could do better - instead of relying on IK to power fluid movement, I recreated our rig to have only 9. Using carefully planned weight paints, I achieved the same range of motion - while requiring less work to animate as a bonus!
Comments