Texturing Problems and Soutions
As our game will now feature a town consisting of a long road with a number of forks an turns, the amount of buildings needed has increased drastically.
Therefor, an efficient texturing pipeline is required as time would not allow us to texture 30,40 or even 50 buildings.
Several avenues were explored:
Creating a semi-procedural material in substance Designer
Procedural materials would have meant we could edit parameters on a texture directly in game engine. So after apply a texture, we could change the amount of wood planks, the size, colour and level of details.
Unfortunately, parameters are not accessible through the material, instead, the imported material comes with a sort of support file that controls the parameters. Making an instance of the material does not create a new support file to edit the materials, meaning every building would need a new material adding an additional draw call. This is not an option given the number of buildings we need.
Texturing in Substance Painter
An alternative pipeline would see textures being perfectly aligned to avoid and visible seams o the modular asses. These could then be exported, and the colour texture would be changed to a gray scale image in Photoshop. In engine, instances would be created where the grey scales would be multiplied with colour. However, each texture pass would require application in SP, exports, imports and creation of several instances for different colours. Given that there are 8 base buildings and 4 major textures with a number of variations (plank/brick size, damaged/new etc) we would be looking at repeating the process up to 96+ times.
We would have been able to have perfectly seamless transitions between the modular building blocks, but the pipeline was inefficient given the time we had to complete the game.
Using Tileable Textures and Hiding Seams with props
Something I initially wanted to avoid was having to hide seams in the game engine by adding props, however some testing has proved this to be the most efficient process.
Roof tiles, pipes, ledges and other props will be built in a modular fashion, and attached to key points of the buildings.
Instead of exporting materials from Substance Designer, only the texture maps will be exported, and the master material and instances will be made in Unreal.
The roofs will have separate materials to allow for a variation i colours and textures on the roofs.
Therefor, an efficient texturing pipeline is required as time would not allow us to texture 30,40 or even 50 buildings.
Several avenues were explored:
Creating a semi-procedural material in substance Designer
Procedural materials would have meant we could edit parameters on a texture directly in game engine. So after apply a texture, we could change the amount of wood planks, the size, colour and level of details.
Unfortunately, parameters are not accessible through the material, instead, the imported material comes with a sort of support file that controls the parameters. Making an instance of the material does not create a new support file to edit the materials, meaning every building would need a new material adding an additional draw call. This is not an option given the number of buildings we need.
Texturing in Substance Painter
An alternative pipeline would see textures being perfectly aligned to avoid and visible seams o the modular asses. These could then be exported, and the colour texture would be changed to a gray scale image in Photoshop. In engine, instances would be created where the grey scales would be multiplied with colour. However, each texture pass would require application in SP, exports, imports and creation of several instances for different colours. Given that there are 8 base buildings and 4 major textures with a number of variations (plank/brick size, damaged/new etc) we would be looking at repeating the process up to 96+ times.
We would have been able to have perfectly seamless transitions between the modular building blocks, but the pipeline was inefficient given the time we had to complete the game.
Using Tileable Textures and Hiding Seams with props
Something I initially wanted to avoid was having to hide seams in the game engine by adding props, however some testing has proved this to be the most efficient process.
Roof tiles, pipes, ledges and other props will be built in a modular fashion, and attached to key points of the buildings.
Instead of exporting materials from Substance Designer, only the texture maps will be exported, and the master material and instances will be made in Unreal.
The roofs will have separate materials to allow for a variation i colours and textures on the roofs.
Comments
Post a Comment