Development Background #1: Arbiter Avatar Design and Model ProductionThe first devlog update is going to be the development background for the player controlled entity called "The Abiter Avatar". Since many of the upcoming update may involve the development of the entity, it might be a good idea to give some context into it early.
Short-Story BackgroundThe Arbiter Avatar is the vessel of The Arbiter. The Arbiter itself is the acting agent of a Titan, the most powerful entity in the game universe. Being the arbiter of a fallen titan, the player arbiter is no longer bound by duty and have to fend for itself and its realm.
Design BackgroundThe Arbiter Avatar is designed to be a destroyer class warship in the context of naval warfare. It is in the mid-tier in terms of size and maneuverability. Using this idea, the vessel should have a relatively tough visage but with a rather slim frame. One design that came up immediately was
The Coronata Titan from
Sins of a Solar Empire game. After I get a few references for the design I immediately go for 3D model production. Any details or new ideas for the design will be implemented as the production process goes.
3D Model ProductionEntity 3D model production in the game have roughly the same process. The first step is to create a dynamesh high-poly mesh in ZBrush. After the main shape has been established I would use clay-polish to smooth the mesh and accentuate hard-edges.
Some shots of the high-poly mesh in ZBrush:
The next step is to use ZBrush ZRemesher to produce low-poly mesh quickly and then made some low-poly mesh adjustments in blender. To save some time in the development, I mostly ignore sculpting high-poly detail knowing the fact that I will be using Substance Painter later in the pipeline. On top of that, low-poly mesh adjustments will be made only to adapt UV-unwrapping process and adjust a few triangle order.
After the low-poly mesh have been established the next step would be to bake high-poly mesh into geometry maps. The geometry map to be baked, normal and ambient occlusion map in this case, is not going to be the final geometry map to be used in the game. Rather, It will be used as a base for texture painting.
I use
xNormal for the geometry map baking process. The only preparation before baking geometry maps is to create cage mesh. To get the cage mesh, I simply duplicate the UV-unwrapped low-poly mesh and fatten the faces of the duplicated mesh a little bit.
High-Poly Mesh, Low-Poly Mesh, and Cage Mesh, side by side:
The first geometry map that I bake is normally a 1024x1024 normal map test bake. The result of the bake is then being exported, along with the UV-unwrapped low-poly mesh, into Substance Painter. There, I would check for any obtrusive UV-seams. If there is any obtrusive UV-seams I would go back to Blender, made some adjustments, and redo the normal map test bake. I normally repeat the process a few times before getting a fine low-poly mesh setup.
When I finally get a good UV-Unwrapped low-poly mesh, I proceed to bake the final geometry map. The map set to bake is normally a 2048x2048 Normal Map and a 2048x2048 Ambient Occlusion Map. Afterwards, the geometry maps are exported into Substance Painter as the base geometry maps for texture painting.
The first thing I would do before start painting in Substance Painter is to find a good material setup. Since the Arbiter Avatar entity model itself is actually only the second model that I made I did spend quite a time to get good material setup to work with.
Since I'm not working with organic model I mostly use mask painting instead of layer painting because it produces sharper hard-surface result.
Early material test shot:
I don't really mind about the practical aspect of entity design except on parts where the lore and game mechanic might matters.
In the case of the Arbiter Avatar they are: cabin lights, spellcaster mark, ship exhausts, and ship tail. These parts might have particle systems attached in the game so they have to be designed to support its purpose. On top of that cabin lights and spellcaster mark is used in the lore and visually in the game to differentiate the ship type. Ships with cabin lights means that they are at least a Destroyer class or bigger and have dense ship population. The spellcaster mark, on the other hand, signifies that the vessel is capable of channeling or casting a spell.
Texture Point of Interest Blocking:
After adding enough details and material adjustments, the texture set should be finished and ready to be exported to the game engine. In the case of the game, the entity model texture set is using a standard-compact export setup. The texture set export setup are: Base Color (RGB), Normal Map (RGB), Emissive Map (RGB), and Roughness-Metallic-AO (RGB). 4 texture maps in total.
While in the game engine, Unreal Engine 4, I import the low-poly mesh and texture set with the default settings. One exception is the Roughness-Metallic-AO map. Since it is a geometry map the sRGB option for the particular map should be turned off.
Final 3D Model Production Result (Texture Editor Screenshot):
3D Model Production (current In-Game Result, low-res screenshot):
Next UpdateNext update will introduce and explain The Arbiter Avatar / Player main gameplay mechanic. Since entity model production has been explained, and most of entity undergo the same production process, future update about entity would most likely be only about its background, design decision, and gameplay mechanic. If there are any details that you would like to know about the production process, by any means, ask away.