Diving Deeper into Unreal Engine
I set out to create a game environment from start to finish, with a focus on learning Unreal Engine more thoroughly. My goal was to design the environment in a modular style, carefully balancing the need to minimize texture draw calls while maintaining consistent texel density and high-quality visuals.
Unreal Engine render
Real-time Game play
I began by sketching some very rough ideas to get my initial concepts down on paper.
Next, I created rough modular elements to block out the environment in Unreal. I kept everything simple, using 1-meter increments to ensure easy alignment within the engine.
Rough blocking elements
Start blocking the scene in Unreal
"Medium-Resolution" assets
Replacing the blocking GEO
Next, I replaced the blockout geometry with the newly refined assets.
Material Set up
I aimed to keep the material and texture count low, so I opted to use material blends in Unreal. I created a Master Material to serve as the foundation for all the universal materials in the scene.
This approach allowed me to set up several base materials as instances of the Master Material, all utilizing the UV1 channel of the models. I ensured that these UVs were created with the proper texel density for the project. The UV0 channel was reserved for the masks used in the material layers.
This setup allowed me to have dedicated maps for normals, dirt masks, emissive properties, and paint layers for each object. These maps were generated at 2K resolution but can be easily adjusted on an asset-by-asset basis.
I also wanted to include a unique asset in the environment, so I chose a distinctive storage tank. For the materials, I employed a similar approach, reusing the same metal and dust materials used throughout the environment. I added more detail to this asset to take advantage of Nanite meshes in Unreal.