Website powered by

Material Complexity in UE4

This was an exploration into the complexity of shader creation within UE4 I completed near the end of 2017. The idea was to explore various ways to replicate water and its properties, ranging from simple representations to actual mathematical approximations. At this point in my studies, I had just learned about Substance Painter/Designer, and now that I've had more time in both, I'd go back and many more details into the materials and environment.

I tested the scene's performance using various states of water, varying from a solid color material, to translucent vertex-painted water.

I tested the scene's performance using various states of water, varying from a solid color material, to translucent vertex-painted water.

Shader complexity shown through Unreal's viewport.

Shader complexity shown through Unreal's viewport.

Basic normal map interference to represent water.

Basic normal map interference to represent water.

Material setup for normal map interference.

Material setup for normal map interference.

Water moved via World Position Offset using Gerstner wave approximations.

Water moved via World Position Offset using Gerstner wave approximations.

Overview of the Gerstner wave water material. The material function houses the math of the approximation.

Overview of the Gerstner wave water material. The material function houses the math of the approximation.

Water with vertex painted ice chunks.

Water with vertex painted ice chunks.

Material for the vertex-painted ice water.

Material for the vertex-painted ice water.

Material for the land areas.

Material for the land areas.

Material for the boat. The vertex blending is used for painting wind into the sails and ropes.

Material for the boat. The vertex blending is used for painting wind into the sails and ropes.