Yen Chiang / Portfolio← Back to work

USC AGP · Technical Artist

Rephrased

AGP · Work in Progress

Rephrased game cover

What I did

Unreal Engine · Materials · Blueprint · VFX

01 / MATERIAL DEVELOPMENT

Stylized water

A modular SingleLayerWater material built for art direction. Moving highlight masks, blended normals, and wave displacement create a lively surface, while exposed material parameters support quick color and shoreline adjustments.

Edited viewport demonstration: moving surface detail and live color adjustments. Development test scene.

Surface motion

Two panning noise layers shape the highlight masks. Panning normal maps are combined with BlendAngleCorrectedNormals, while a time-driven sine function feeds World Position Offset.

Art direction controls

The material instance exposes water color, highlight controls, murkiness, and shoreline settings. The master material connects scattering and absorption inputs through SingleLayerWater.

Procedural water noise · Substance 3D Designer

Created water noise textures in Substance 3D Designer. Separate noise branches use Levels, Transform 2D, and Directional Warp to shape different patterns, then combine through RGBA Merge into a channel-packed texture. This graph documents the texture authoring behind the water material.

Substance 3D Designer water noise graph and RGBA texture preview
Water noise authoring: procedural graph and packed texture preview. Open the image to inspect the nodes.
Explore the material graphs

Open any image to inspect the nodes at full resolution.

Water highlight and normal material function
Highlight masks & blended normals
Sine-based wave displacement graph
Time-driven wave displacement
Master water material connections
Master material integration
SingleLayerWater scattering and absorption inputs
Scattering & absorption controls
Water material instance parameters
Exposed material instance parameters
Work-in-progress shoreline mask graph with error markers
Shoreline mask · Work in progress

The shoreline function screenshot contains error markers. It documents the node structure in progress; the viewport recording shows the current visual result.