UV unwrapping in Maya
After modelling the bird it was important to create good quality UVs so that the texturing process would go smoothly. Apart from creating good texture maps, having good UVs is also important for game engines like UE4 to calculate Lightmass and to avoid issues with Ambient Occlusion.For symmetrical geometry it can be a good idea to stack similar pieces to save on texture real estate and maximise resolution. However, I noticed that UE4 does not like overlapping UVs and can result in texture issues when lighting is rebuilt. There is a way to get around this by changing the light mass index for your mesh within Unreal.
Perspective/UV Editor split screen |
I used a combination of Planar and Automatic UV creation and then cut along edges and stitched together where necessary. Bearing in mind that this model would be used as a hero asset, I had to be careful to create the UV map in such a way that seams would be either hidden or not too obvious after painting in MARI.
The Layout function within the UV Editor tools can be used to layout the UV shells proportional to their scale in 3D space. This ensures that textures will look correct across the whole model with consistent texture resolution. There is also an option to apply padding between UV shells to mitigate against colour bleeding onto adjacent shells.
UV shells with UV shading toggled on - Purple shows overlapping shells |
Texturing in MARI
Mari is a 3D texture painting program similar to Substance Painter. It employs a non-destructive, layer based system, which is quite intuitive especially if you have used a program like Photoshop.
For Unreal's Physically Based Rendering (PBR) workflow, Colour, Roughness and Metallic maps are the main maps required to create realistic looking materials. The nice thing about Mari is that once you have created the base colour/diffuse map, a roughness map can be easily created by copying all the layers into a new Roughness channel, using a Saturation Adjustment to get rid of any colour information and a combination of Invert and Levels adjustments to balance out rough and glossy areas.
Mari also has Unreal shaders built-in, which is handy for previewing how textures will look in the game engine. It is a good idea to turn on HDR lighting when previewing metal channels as metal materials need detailed lighting to reflect light and render correctly due to their non-dielectric nature.
Finally, creating a Metallic map is very simple. As the Clockwork Bird material is predominantly metal, I just needed to create a new Channel set to 100% white. Then I selected the eyes UV shells and painted them Black.
While researching UE4 material workflows, I discovered that it is possible to save on file storage space by combining Utility maps (black and white values only) into one image file. The Roughness, Metallic and Ambient Occlusion maps can be added to their corresponding RGB channels (Roughness - R, Metallic - G, AO - B) and saved out as an RMA map. This also reduces the amount of textures that need to be imported into UE4, and cuts down the amount of connections to be made when building materials.
While researching UE4 material workflows, I discovered that it is possible to save on file storage space by combining Utility maps (black and white values only) into one image file. The Roughness, Metallic and Ambient Occlusion maps can be added to their corresponding RGB channels (Roughness - R, Metallic - G, AO - B) and saved out as an RMA map. This also reduces the amount of textures that need to be imported into UE4, and cuts down the amount of connections to be made when building materials.
Finished Base Color Channel in MARI |
Roughness Channel based off the original colour channel data |
Metallic Channel - White applied to everything except the eyes UVs |
Exported Base Colour map - Mari fills in any empty space around UV borders |
RMA map - Roughness, Metallic and AO maps embedded in the RGB channels and saved as one image |
Comments
Post a Comment