Skip to main content

UVs and Texturing

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.


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


Unsmoothed version of bird previewed in Mari using the Unreal Shader



Comments

Popular posts from this blog

Setting up Animation in Maya and Exporting to UE4

The cogs and key animation was quite easy to set up.  As the cogs would not be seen in great detail I didn't need to do any maths calculations to work out the correct rotation rate for each cog.  I just set rotation values in the X-axis to zero on the first frame for all cogs and set another value of 360 on frame 25.  As I did not want to go to the trouble of setting up joints for all the cogs, I baked out the animation instead. Originally, I left the key separate from the skeleton but I had issues getting it to animate correctly in UE4.  I fixed this by adding the key joint to the main skeleton and skinned it.  I used simple 0-360 looping animation the same way I set up the cogs but baking the animation was not necessary in this case.  Baked Cog Animation Bind Pose used as a base for all looping animations During my research for flying birds I found a cool way to animate wings by using Expressions in Maya.  The following link to the Maya Hacks Youtube channel

Reference and sketches

Haz Elf's Clockwork Birds on Deviant Art I found this wonderful image by Haz Elf while researching source material for a Clockwork Bird character I wanted to create for my course's group animation project.  I took the image into Photoshop and altered it slightly, adding cogs and a clock.  The idea was to sketch a concept from scratch but I was not happy with my attempts.   Birds flying in Slow Motion - Video Reference Link to Paul Dinning's Youtube channel

Modelling the Clockwork Bird in Maya

Modelling Timelapse - Start to Finish The above gif image shows the modelling process from start to finish.  The early version of the model had basic wings and no cog geometry which sufficed for the blocking out stage. The wings went through a few version changes.  I decided that they would need to be split into sections so that they would look correct when animated.  I modelled cylindrical hinges to divide the wings into base, middle and tip sections. I duplicated each wing to make three layers to fill in any gaps to give the wings a fuller appearance. Early version without cogs and basic wings Later version with updated wings (not split into sections) Finished model with wings split into sections