This is Albert Fung, and I’m responsible for generating the 3D models in the upcoming Quench game.
I’d like to start with an overview of our 3D workflow. Generally speaking, I would receive concept sketches and pre-production specifications from our team members, and start building rough 3D models in Cinema4D, our choice of 3D production software. I would then add in lights and colors on the model (as seen in Fig.1) to enhance its appearance, and then import this model into our gaming engine, Unity3D.
Fig 1. Test renders made in Cinema4D – these will be hard to replicate in Unity3D
The problem is that the lights and colors do not necessarily translate across platforms. Cinema4D can produce fascinating renders on linear animations, which are based on complex calculations that simulate physical light in a virtual environment.
These calculations, however, are too resource-intensive for real-time rendering – imagine having to simulate the light interaction between a herd of animated elephants and a vast terrain object, all at a rate of 60 frames per second. If we tried to do that, the game simulation would grind to a halt, gamers will experience lags, or in worst case scenarios a complete crash.
Fig 2. Flat 2D files that document the rendering/lighting data seen in Fig 1.
For that reason, I’m experimenting with baking textures, and importing them as flat 2D files into Unity3D. The intense calculations will be done in Cinema4D, and the finalized data will be taken into Unity3D. The game engine wouldn’t need to do the heavy-duty calculations, but our models will retain the high level of aesthetics we originally aimed for.
A necessary step in the workflow is to painstakingly ‘skin’ the model – this reduces the 3D coordinates of a model onto a 2D place. Or as Tabby puts it, making the elephant into a coat.
Fig.3 Bottom view of the elephant, looking up into its belly. The orange lines show where the cuts will be placed.
Similar to coat-making/tailoring (we think), serious thought must be put in to where to place the cuts. Once cuts are made, then the skin can unfold flatly. A good general rule to follow is hide the cuts from the viewer – in this case, since our elephants won’t be showing their bellies, I’d place the cuts there.
Using this technique, I can safely polish up our elephant models in Cinema4D, unwrap/rewrap them back in Unity3D, without worrying about heavy calculations or losing any aesthetic details in the process.
Thank goodness this is only in virtual space. Albert Fung does not endorse any type of poaching or skinning of any animals!
If you’re curious about other aspects of the 3D workflow, please let us know! This will help fuel our future blog posts!