Using the new geometry script plugin introduced in Unreal Engine 5, I wrote a script to generate 2 types of traditional Japanese roof (sangawara 桟瓦葺 and hongawara 本瓦葺). This script takes a configurable set of tiles and assembles them into a roof of the desired size and curvature adding some randomness. It also allows to cut the roof in order to obtain the typical curved corners present very often in Asian roofs. If provided with the correct tiles, this script can also generate other roofs. Then, I wrote a material that also adds moss and rain leaks, obtaining quite realistic nanite roofs in Unreal 5. Each tile used by the script is a mesh created in Maya following the specifications of the tile in reality. The UVs of a set of tiles for one type of roof are disposed on a single non overlapping UV sheet. Other parts of the roof like the wooden bottom, the munegawara (decorative ridge tiles) are also generated with geometry scripts (I will present them in other posts).
Links:
Geometry script plugin: https://docs.unrealengine.com/5.0/en-US/geometry-script-users-guide/
Different traditional Japanese roof types: https://inu-games.com/2022/04/29/useful-references-for-japanese-traditional-roofs/
Building a hongawara roof with the script and baking it into a static nanite mesh
Building a sangawara roof and cutting it