Realtime Materials

This is a collection of photorealistic materials created in Substance Designer and Substance Painter and rendered in Unreal. An important goal of mine was to understand the principle techniques and become proficient in both Substance programs.

*responsible for all aspects

Maya

Unreal

Substance Designer

Substance Painter

Illustrator

Introduction

The overall objective of this series of projects was to create a photorealistic environment that contained both manufactured and organic materials rendered in Unreal. Before taking Real-time Materials and Shaders with Professor Prada, I had little knowledge of Substance Painter and zero knowledge of Substance Designer.

An important goal of mine was to understand the principle techniques and become proficient in both programs. After I graduate from SCAD, I would like to be a 3D Modeler and Texture artist for feature films and episodic so having a solid understanding of both Substance programs is essential.

Getting Started

I have always been interested in the process and development of materials and models in the CG world. A long-time goal of mine has been to 3d model and texture a photorealistic horse. Within the past three months, I have learned the fundamentals of ZBrush and recently accomplished my goal. When I was introduced to the projects for Professor Prada’s class, I thought it would be a great opportunity to showcase my quadruped render in addition to the variety of materials I was set out to make.

horse-copy

Modeled in ZBrush, textured and rendered in Substance Painter

Inspiration & References

When I think of stables or a barn, there are two types that come to mind. One is a traditional structure that is borderline falling apart that has dirt and equipment everywhere and two is a super elegant, high-end equestrian stable that is well kept. For my CG scene, I wanted to explore the different states a beautifully crafted stable can have.

The references may seem simple and possibly boring, however, replicating an interior barn environment in CG was a great way to practice breaking down traditional manufactured materials (ranging from wood, metal, glass, and brick). It's important to note that collecting as many high-quality references as possible is essential to creating accurate materials even though it may seem tedious in the early stages of development.

dark_wood_panel
d4491da080c4ee387e22bbbc83065d58
Posterivo-Horse-Stalls-with-Timber-Frames
beechwood-stables-marcus-gleysteen-architects-img_0c118a5201df0323_14-9844-1-3e41fb3
White-horse-barn-interior

Model Breakdown

I enjoyed modeling the assets for the scene. Initially, I kept the meshes low poly which was very noticeable when I imported them into Unreal even after I smoothed the edges in the Maya settings. I had the most trouble with the wheelbarrow because I wanted to keep the poly count relatively low. After retopologizing a few times, the faceting issue was resolved and I was able to unrwap the UVs.

I found that when bringing my models into Unreal, for them import at the right scale I had to double the models initial size in Maya. A trick I learned when first using Unreal is that you can export a model from the engine and import it into your Maya scene so you're modeling at the right aspect ratio.

Wheelbarrow

Lamp

Bucket

Sliding Doors

Wall and Pilars

Material Breakdown

Wheelbarrow

The wheelbarrow was my favorite part of the scene. I was tempted to model the details within the tire however I did not feel that would be beneficial to my growth as a texture artist. The grooves within the tire are being generated with a normal map. When I brought the material into Substance Painter, I added a Normal Levels layer to further push the depth. I experimented using a Height map but I found that when using a Height map and a Normal map, my material looked metallic in Unreal. 

To generate the grime and dirt within the crevices, I baked the maps within Substance Painter using the 'Bake Mesh Maps' feature. This made it so I had the option to use 'Smart Masks' that generated textures that targeted specific attributes within the model.

garden-Wheel-barrow

Clean Reference

wheelbarrow_tire_01

Tire Reference

600-1

Dirty Reference

As you can see, some of the graphs are not complex. All of the maps I created have customized attributes that can be adjusted when exported out as .sbsar files. This made reusing materials super easy. I know I could have created the materials just as easily in Substance Painter however, I think it's still important to understand what makes up a material instead of using a preset. 

Wood & Bucket

The wood texture I created was one of the most intricate materials I've generated thus far. This was the first material I created customized attributes for when brought into Substance Painter. A challenge I ran into was creating the randomly colored panels. A solution I found was connecting a 'Flood Fill' node from my black and white panels map to a 'Flood Fill to Random Greyscale'. After that, I added a Levels node where I could further alter the values which influenced the panel colors. 

Artboard-1@2x-10

New Material Reference

MlTXZ-2

Old Material Reference

apijenwh4__31562.1592405668

New Bucket Reference

5bd6ab451dcf1b2009183e7687587096

Old Bukcet Reference

Lamp

steel_ref

Old Material Reference

emission

Emissive in Unreal

Initially for the glass pane, I created a simple material with a high opacity in Substance Designer. I then realized that I could generate the same results with a custom material in Unreal in addition to adding emmisve to generate the light effect.  

Paver Brick

This material was created within Substance Designer. Instead of making this a .sbsar material, I exported the maps out individually so I could import them into unreal and repeat the material throughout my scene seamlessly. 

Material in Environment

GAME722_01.0001-1

Reference

r_paver_reference

Base Color

brick_r_paver_basecolor

Roughness

brick_herringbone_roughness

Height

brick_r_paver_height

Metallic

brick_herringbone_metallic

Ambient Occlusion

brick_herringbone_ambientocclusion

Normal

brick_herringbone_normal

Substance Designer Graph

sd_graph_brick_r_paver

After further development of the scene, I decided that I didn't want to go with the orange base color that I made in Substance Designer, so instead of opening the file again, I made my own material in Unreal where I loaded the texture maps and changed the attributes of the map. I also changed the TexCoordinates giving me the option to manually change the UVs within the engine. This made the workflow a lot smoother since I wasn't going back and forth from Substance Painter/ Substance Designer.

Artboard-1@2x-10-1

New Material

Screen-Shot-2022-02-14-at-6.31.53-AM-1

Old Material

Screen-Shot-2022-02-14-at-6.31.32-AM

Camera Shots

Rough Blockout

Since the project's focus is primarily on material creation, I wanted the cameras to get up close so you could see the intricate details within the materials. The scene consists of six cameras that shift between wide and close-up shots to cover the full range of the scene.

Final Render

This is my final render of the scene. In the future, I would like to develp the lighting more, considering the scene is primarily lit by a skydome. The lamps have an emissive material on them however I think the render would be more successful if there was a glow of light that was surrounding the source.

Conclusion

I learned a lot within these past 10 weeks when it comes to material creation in Unreal, Substance Painter, and Substance Designer. I would like to continue to further develop this piece and bring it to the level I know it could be.

Some things that I would like to change/ fix: The wood texture on the pillar (the material is pretty blurry resulting in a lack of realism), add key lights in the scene, make the floor texture a higher resolution, tone down the overall reflectivity within the scene (this has been an ongoing issue I have been trying to fix), and add more assets in the scene (including my horse model).