Although the original cottage model had been UV unwrapped, there was still some work needed to clean up the UV tiles for the low poly asset.
UV Mapping
Unreal Engine relies on good quality UVW mapping and not
solely for texturing purposes. Lightmap
coordinates rely on these maps to calculate light accurately and certain
effects rely on unwrapped UV maps to work correctly.
As well as reducing the poly count,
I had to redo a lot of the UV unwrapping and fit the UVs across 5 tiles being
sure to maintain Texel density. Texel
density is the consistent uniform scaling of UV shells across an asset in
relation to its 3D world scale which maximizes texture resolution per pixel.
Something to keep in mind is that high poly meshes do not require UV information if they are being used for baking purposes. System performance can increase greatly when your scene is not full of high poly meshes with UV data. Therefore, it is a good idea to delete this information before baking to the low poly meshes. It is important that you do not delete the UVs on the low poly meshes.
In Maya, a combination of planar and auto UV projection was used. The Unfold and Optimize tools were then employed to unwrap the UV shells. Layout UVs (Modify > Layout>Options Box) was used to make sure the UVs were sized in proportion to their 3D scale ratios.
![]() |
| Layout UVs options box in Maya |
Baking Ambient Occlusion Maps
Ambient Occlusion (AO) maps can be baked out in Maya with
the Turtle renderer. They have traditionally been used in the game industry to fake shadow and lighting details as well as emphasising contact shadows in tight areas. Alternatively, AO maps can be multiplied on top of the albedo/colour map
with adjusted opacity to subtly add dirt or dust in occluded areas. For Skeletal Meshes it is probably best not
to bake in AO but instead to rely on Unreal Engine’s Global Illumination or SSAO
(Screen Space Ambient Occlusion) which is calculated in real time.
I will not be using animation on my assets as my level will consist solely of Static Meshes. I decided to use the Turtle Renderer to bake out AO maps as there does not seem to be the option to bake to texture maps using Maya's default renderer, Arnold. Also, the Transfer Maps tool used to have an AO bake function, but this relied on the mental ray renderer which Arnold replaced in Maya 2017.
It is a time-consuming process and there are faster alternatives for pre-baking out AO maps. 3D painting software such as Mari and Substance Painter can generate relatively fast AO, but these are rarely useful for getting fine details onto your game ready meshes and are mostly used for creating quick dirt maps. There’s a speed vs quality decision to be made when it comes to creating textures for game engine assets, but if an Arch Viz studio does have the time and hopefully a dedicated texture artist, it is worth taking that time to bake out good quality utility maps such as Ambient Occlusion, Height and Normal maps. This extra attention to detail will go a long way to selling the architects idea and production value to clients/stakeholders.
I will not be using animation on my assets as my level will consist solely of Static Meshes. I decided to use the Turtle Renderer to bake out AO maps as there does not seem to be the option to bake to texture maps using Maya's default renderer, Arnold. Also, the Transfer Maps tool used to have an AO bake function, but this relied on the mental ray renderer which Arnold replaced in Maya 2017.
It is a time-consuming process and there are faster alternatives for pre-baking out AO maps. 3D painting software such as Mari and Substance Painter can generate relatively fast AO, but these are rarely useful for getting fine details onto your game ready meshes and are mostly used for creating quick dirt maps. There’s a speed vs quality decision to be made when it comes to creating textures for game engine assets, but if an Arch Viz studio does have the time and hopefully a dedicated texture artist, it is worth taking that time to bake out good quality utility maps such as Ambient Occlusion, Height and Normal maps. This extra attention to detail will go a long way to selling the architects idea and production value to clients/stakeholders.
![]() |
| TURTLE bake settings for AO map |
Depending on the complexity and number of meshes
making up the asset to be baked, this can be a lengthy process. It would have been nice to set up all my
bakes and let Turtle render out multiple maps overnight while I did not need my workstation. Unfortunately, I
could not find a way to set up Turtle to batch render out the baked maps. There is a Turtle Bake Layer option, but I
didn’t have time to investigate this further.
![]() |
| AO map applied to the colour input of a shader to preview the window asset in the viewport |
To get good quality AO maps, meshes need to be baked
separately and then put together in Photoshop to complete each UV tile. Sometimes separate meshes can be combined but
only one piece of geometry should be baked per render or else errors can and
will occur. I employed Mari’s UDIM
multi-tile UV naming convention by adding the .1001 suffix for maps taking up
the 0,1 UV space, .1002 for the 1,2 UV space, and so on. It would be nice to use only one UV tile for
all the unwrapped geometry, but the resulting resolution would be too high for
Unreal to deal with. Apparently, there
is an 8K maximum resolution limit per tile within Unreal. Until systems become more powerful, it is good
practice to use smaller resolutions of 4K and under per tile as it does not put
as much stress on the end user’s system and graphics card.
Looking into this further, it seems that Mighty Bake could be a better and time-saving option for baking out maps.
I also discovered a Python script on earlyworm.org that sets up multi UV tiles for batch bake rendering but this will need modification to work with Turtle.
Baking Normal Maps
Due to time limitations, I have decided not to bake out
normal maps for all the geometry making up my asset. Although, for textures like bricks and the
roof tiles I have baked out high quality maps using the 16-bit TIF file format. I will have to investigate whether TIF files
are supported in Unreal but according to Tom Shannon in Unreal Engine 4 for
Design Visualization, the TIF format is not on the list of supported file
formats.
The process within Turtle is similar to baking out the AO maps, only you have to select the Normal map option and change the save file names accordingly.
![]() |
| Normal map baked from high poly roof tile geometry onto a lowpoly mesh |
Supported File Formats
The TGA file format is the game industry standard for 8-bit
images and PNGs are used mainly for utility maps (AO, Roughness, Metallic,
etc.)
Other supported formats include .bmp, .float, .pcx, .psd,
.jpg, .exr, .dds, .hdr




Comments
Post a Comment