Wednesday 12 November 2014

Xiahou Ba Initial Re-projection & Baking Issues

Note: This post has no 'LightBox' functionality (enlarging images doesn't work as it should). At the time it was a bug on Blogger, but no matter what I do it will not fix for this post now unless I repost all of these images in the right places... which I'm not doing. So enjoy :)

With the final game-ready mesh completed, it was time to bring the pieces all back into ZBrush to have the original high resolution base-mesh data projected down to them. The results of this step would be directly related to what the final character will look like, making it crucial that nothing goes wrong, and anything that does is dealt with thoroughly.


This is the model in ZBrush using the final in-game meshes at their highest subdivision levels with all of the sculpt data and polypaint data re-projected down to them. This process has gone okay but not as well as I had hoped.


If you look on his shoulder facing the camera, the surface noise map covers areas that it shouldn't (which I would Photoshop out during final texturing between Photoshop and Maya). However you can also see a patched-up area where the texture is lost, and the polypaint information was also originally lost. Patching up areas like these with highly detailed surfaces around them can be very difficult to make them invisible.

Parts of the projection didn't work 100% no matter how the options were set (the default options still gave by far the best results though). On the up-side, I did learn that the surface noise maps that I applied to the clothes, such as his tank-top in the picture above, had to be baked into the actual sculpture itself for projection to pick them up. If they are left as surface noise maps, they are discarded during the projection process. This isn't necessarily a bad thing but it is something to watch out for in future.


Looking at the pockets where they overlap the inside of the pockets, you can see the re-projecting process has left holes and skewed geometry behind. This is a big problem that would be very hard to fix and would most likely require a completely new in-game mesh to withstand these problems. Maybe using the original base-mesh would be better....

The base-mesh of the shorts included as much high resolution detail as I could get into them. This was to greatly support them during the sculpting process, making sure all the seams and pockets were all in the right places and had the geometry to stay in the right places during subdividing. While this was initially a good idea, when I tried to bake the results down to the in-game mesh that did not have places for the pockets pockets and such, I immediately got issues.

To overcome the issues presented on the shorts, I think it might be a better idea to simply use the original base-mesh shorts as the final mesh, but optimise them as much as possible, removing any unneeded creases set up for subdividing purposes.


His shoes are projected onto much simpler meshes than their base-meshes. With this being an initial projection and bake, you can already see the areas that cause problems. The laces should be removed for this process. The zip has been baked onto the in-game mesh here also, which has worked very well apart from the actual zip itself that has become distorted and broken. This will require a simple, small model to replace this damaged zip for the in-game mesh I think.


In the interest of keeping in-line with industry standards, his head was removed from his body to allow for its own material and texture map, however after thinking over this character design and what my options would be, I think it may be better to leave his head attached to his body after all. While it is true that his tank top that he would be wearing most of the time covers the seams, he was supposed to be able to remove his top as part of the character design. Baring in mind his body and head should all be using the same material idea, working this way should still work well. The resulting UVs will be set out more like a traditional atlas texture map instead.


After deciding to throw his head and body through ZBrush's 'UV Master' tools, I decided to quickly bake out the results so far of his head and body. 


The UVs are far from perfect in either of these bakes, however they do give an insight as to what to watch out for when I properly UV these meshes. For example the seam between his head and body is still very much clear in Maya, and the textures have no padding on these which also shows up very thin, black lines between the seams on the mode. I also found texture distortion around the mouth and inner lips that must be carefully dissected when unwrapping to get the best results possible.


The above .GIF highlights issues. The RED indicates textures seams on the mesh. The big one across his chest is where his head joins his body. His arms are still attached to his torso, showing that these thin black lines across his shoulders are UV borders (the arms were separate polygroups in ZBrush). The GREEN indicates texture stretching and / or distortion around his lips and possibly his nose area also. The BLUE highlight shows texture quality. The files themselves are fine, baked at 4096x4096, but some areas of his polypainting really do need touching up and finalising. This was the plan to begin with, but this bad airbrushing job really highlights the point to me.

Sunday 9 November 2014

Xiahou Ba Final Mesh

Over the weekend I got Xiahou Ba's final 'in-game' mesh finished. This mesh see as significant reduction in poly-count, while retaining as much silhouette detail as possible. The mesh itself still has a few areas that could do with some correcting and/or cleaning up, but I will look into these individually as and when I find problems with projecting the high resolution detail down to them in ZBrush next. The next step however, is to UV unwrap this mesh properly.


Here you can see that really not much detail is lost on the final mesh, but note that it contains no subdivision border creases nor any internal detail such as pockets and the highly detailed shoes to stand up to the sculpting process better in ZBrush.

In the coming days, re-targeting the subdivisions from the base-mesh to the final mesh could be a messy process; I'm not entirely sure how the final mesh will react with no border edges. I may have to add creases in ZBrush to uphold the shapes, but these must be removed in again for the final mesh.