Working on spirits has brought a lot of new technical challenges. Solutions have ranged from creating shaders to diving into C# and even a brief look at entity-component systems. But there are also smaller, more day to day challenges, like choosing the right workflow for your models.
There are 3 main workflows I am familiar with, each one is more efficient than the others at a certain distance – or with certain hardware -, than the last.
I would group them as such:
Close up/ Next-Gen graphics: Custom Normal workflow
Close-ish/Modern console or high-end mobile: Smooth shaded with high fidelity materials.
Far away/any system any time: ‘Normal’ modeling, hard edges are built into the mesh with physically separated faces. Lower poly is better poly.
These are some pretty simplified and slightly exaggerated examples, and in the last few weeks, I have used all of those on Spirits. Each of these styles has its place in modern game development, and sometimes even in the same model.
[Image: Star-citizen spacestation]
If I wanted to, our camera setup and overall game would not be hurt going with the ultra low-poly setup and I have begun to use it for many backgrounds and ceiling models. It’s hard to beat the simplicity of a 1 face wall. The main reason I would avoid this workflow is to get nice bevel reflections on the edge of a hard surface. I chose to use this workflow because bricks don’t reflect that well anyways, and it gets much easier to work with non-beveled geometry. The time savings alone of not dealing with bevels, doubled up edges, modifier weights, or where the place a material transition or UV seam makes it the best choice for these assets that build the world up but don’t necessarily hold the spotlight.
[Image: Bevel vs hard edge]
This is sort of where the game industry is now, although more and more games are releasing with more advanced tricks up their sleeve. Mid poly is what most models are used to, making a low poly mesh that has a good silhouette, then making a high poly to bake a nice normal map from.
The workflow is simple and easy to break down into individual tasks. It’s also very universal familiar making it a safe bet on most teams. Tools like substance painter excel with this workflow! I used this kind of workflow on some of our facades and plants. This workflow gives nicer looking results but still has the easy user experience like the previous lower poly workflow. Unfortunately up close the model’s reliance on textures can break down showing lots of pixels. For Spirits (and for most 3rd person games) our camera never gets close enough to show the pixels in the texture, so we are relatively safe here.
[Image: Texture pixels]
Custom Normal Beveled
The highest poly workflow, made famous by games like star citizen, relies on some more advanced techniques to work. It essentially operates on the philosophy that modern games can afford to define normals through geometry, not just through textures.
Custom nor male really shine with any tillable texture. By leaving it to the mesh to add the edge details, a very cheap flat texture can be tiled many more times giving a much crisper look.
I use this workflow on the back room kit. I chose this for two main reasons: The back rooms are not a priority like a mall, so if worst comes to worst I can fall back to a try-planar shader to texture them; The back rooms are also much tighter, meaning the camera is a lot closer to our edges,
[Image: Backroom kit]
And that is how I choose and use various modeling workflows in Spirits! I hope this had some useful information, and that you can go on and apply some of this reasoning to your own projects!
Happy arting, sincerely,