9 Steps to Better Topology!
Hi Everyone, as promised I’m sharing a part of my 3D modeling pipeline with you guys.
So, many experts already know about re-topology techniques, but if you were like me sometime last year and was struggling to keep those nice high-resolution details from your high-poly mesh on your low-poly game / animated mesh then here’s the solution!
If like me, your pipeline is to create the base mesh in a 3D application like Maya / 3dsmax, then begin sculpting those high-resolution details in Zbrush then you’d probably find your high-poly mesh has changed form quite significantly since it was a base mesh! – Particularly if you use Dynamesh!
Before, I used to simply Subdivide the low poly mesh and sculpt the high-resolution details, then bake the Normal map inside Zbrush and export that map ready to use! This means I’d unwrap the base mesh in Maya before importing it into Zbrush and as I didn’t use Dynamesh on the low-poly model, it would therefore retain it’s UVW co-ordinates from Maya.
However, you may find it often doesn’t quite look how your high-poly mesh does. This could be anything from obvious polygon edges, muddy / blurry details, some sculpted details may be offset or misplaced or even missing! See… EXHIBIT A:
GIF (may take some time to load):
So, as you can see there’s quite a bit of clean-up and re-adjustment required and even then, some details aren’t as crisp or as raised up as you’d like. Let’s say you feel your Normal map doesn’t quite raise the strap on the glove (in this case) high enough, but your topology is completely flat against the strap and you can’t manually extrude or raise that area on the mesh!
To fix that and save overall time, let me share with you 9 simple steps to help remedy these issues. I try to be as concise and clear as possible but I would assume you know your way around Zbrush (any version above 4r5 is fine) and that you know about the principles of baking out Normal & Ambient Occlusion maps either in a tool like xNormal or even Substance Designer.
Please note: Map-generation tools such as Bitmap2Material and Crazybump will not work with this pipeline as it doesn’t actively sample a high-poly model in which to bake details from, it relies on a bitmap which isn’t produced in this workflow.
Please also note: I sculpted the high-poly mesh used in this example prior to beginning this process. I imported my low-poly mesh from Maya and using Dynamesh, completely destroyed any UVWs associated with the base mesh and dynamically altered the overall form of the final mesh. I highly recommend you use Dynamesh to ensure good flow whilst sculpting and avoiding nasty poly stretch issues as you’d experience if you simply subdivided the base mesh without using Dynamesh.
Bear in mind, you will need to select the Simple Brush tool to get access to the menu containing the Zsphere
Try your best to follow key details of the high-poly mesh whilst keeping the majority of drawn polygons as squares. You will of course undoubtedly, have to create triangles as well as star-polys at some point.
Once you’ve finished re-drawing the topology in Zbrush, export out the new low-poly Adaptive Skin into an application like Maya or 3dsmax and unwrap the new low-poly mesh.
Using software such as xNormal of Substance Designer, import both the high-poly mesh from Zbrush (you can also export the high-poly .ZTL from Zbrush) and low-poly mesh using the .OBJ format. With both meshes imported, bake out your new Normal and Ambient Occlusion maps as you would normally.
The results should be rather marvellous; See EXHIBIT B:
GIF (may take some time to load):
Bear in mind although the new topology mesh does look a bit more slender than the old topology mesh, they are the hands of a female:) Also, there will of course have to be some clean-ups. For instance, the visible seam between the top half of the hand and the lower half, the gaps between the spread fingers and the loss of bulkiness around the wrist strap. But with a little clean-up on both the maps and mesh, you can easily get a much better quality mesh & map combo in far less time than should you have not conducted a re-topo of the high-poly mesh.
Comparison between before and after:
GIF of the final cleaned mesh: (May take some time to load)
Well! That wraps up this quick little tutorial, I know the process can be quite time-consuming, but the reward is very accurate low-poly meshes that have an almost 1-to-1 transfer of high-resolution details onto the low-poly mesh! Also, do bear in mind that this is just how I do it, I’m sure there’s faster / more efficient ways out there but this is directly from my character pipeline and workflow – and I thought I’d share 🙂