Triggerfish animation studio character artist Sam King shares how he made two version of the same character
In this making of I will show you how I created two versions of a character using ZBrush and Marmoset. Everything was done at the game division of triggerfish animation studios.
Step 01: Concept art
I got some concepts to work from. I asked the concept artist to give me some pull outs so I could see what I needed to start building in ZBrush and Maya.
Concept art for the two characters
Step 02: Sculpting
All sculpting was done in ZBrush
. I started each ZTool as a sphere or box and then modeled into their forms using DynaMesh. I find it easier to model hard surface high polygon objects such as armor in traditional 3d programs, so these elements were modeled in Maya
. They were modeled first as high poly objects and then brought into ZBrush and detailed further there.
The brushes I use most often in ZBrush for large form sculpting are the Move tool, Clay Tubes, Clay, Trim Dynamic, and Flatten. For finer detailed work I use the Standard brush, Standard brush with alphas, Dam Standard, HPolish to smooth off hard surfaces and Orb_Cracks for dents and wear.
Aspects like the chainmail, some buttons, and clasps were made using alpha masks in the surface tab of the SubTool or a projected alpha stamp while using the Standard brush. Some of the larger buttons were placed with the insert multi mesh tool. Items such as the pouches, shield, and helmets were sculpted independently so I could concentrate on the finish. They were then all merged into the final SubTool at the end of the process.
Once most of the large forms and details were complete I needed to transfer my DynaMesh tools across to ZTools with subdivision so I could add more detail.
For this process I duplicate the tool, ZRemesh and then subdivide a couple of times. Using project I then project the DynaMesh sculpt across to the divided version and then have the ability to sculpt on this new mesh with more polygon subdivision and detail.
Next I also sculpted some ground for presentation; since there was no concept art for this I did a couple of quick pencil sketches to figure out the layout. Then I used the same process as above; rough DynaMesh objects to get the shapes and then pushed across to good stepped ZTool for more detail and finally a ZRemesh for low topology mesh and Cleanup in Maya. At this stage I also baked out a Displacement map in ZBrush using the Multimap exporter. The Multimap exporter is a great tool to use. It creates very nice displacement maps if you ever need them. This would be used as a height map to drive some dynamic tessellation on the ground geometry later on in Unreal.
Step 03: Retopology and UVs
For the retopology I used ZBrush and Maya, and for the UV unwrapping I used 3D-Coat
and Maya. For the retopo mesh I took the final ZTools and then crunched them down to a decent ZRemeshed result. With enough playing around with ZRemesher you can get decent results to start working on in Maya. Unfortunately the spiral loop issue does still persist, but it is less prevalent now with the ZBrush r7 update. The adaptive size button in ZRemesher can drastically change your ZRemesh result.
The ZRemesher guides tool can let you draw your own topology lines on the mesh; this is very handy. The curves strength in the ZRemesher tab will control how much ZRemesher follows these curves that you have laid out with the ZRemesher guides tool. If all else fails, there is an alternative algorithm that you can use for ZRemesher. Hold Alt and then hit ZRemesh and you will get a different result. You can also hit ZRemesher multiple times, varying algorithms if need be, to get a smoother and lower polygon density result.
After some back and forth with ZRemesher I would then take these low topology meshes and clean them up in Maya.
The base character model with weapons and helmet added came out at 28016 triangles which is a good current gen triangle budget. The whole scene including the ground came to a grand total of 40386 triangles.
For UVs my initial stage for unwrap is 3D-Coat, which has a fantastic toolset that converts a typical unwrap process of a few hours into a few minutes. I am a huge fan! After the unwrapping with 3D-Coat I took the mesh back into Maya and organize the UV Islands, I generally like to rotate my islands upright - it feels a bit odd texturing upside down. I also give a little more UV space to high priority aspects like the face, shield and chest boss. Less important object such as random belts and undergarments get less space. Some time is spent arranging these islands into a nice tight UV layout. It is like a puzzle, you can also use the nudge or lattice modifiers in Maya's UV layout to fill up unused spaces, but be careful you do not stretch your Uvs too much though. Check your model UVs with a checker material often to make sure the layout looks ok.
The character model was set out with two core UV sets: One UV set was all soft materials and was based on an Albedo/Spec/Roughness/Normal material shader. The second set was all hard surfaces, specifically metals. It was set out in the metalness work flow of Albedo/Metalness/Roughness and Normal maps: