Paint Dissolve

Paint Dissolve

Paint Dissolve

The visual goal was to create a controllable dissolve with a glowing emissive edge. Rather than default to fire or simple noise, I explored a melting iridescent paint aesthetic. The surface will liquefy and flow before vanishing entirely.

The visual goal was to create a controllable dissolve with a glowing emissive edge. Rather than default to fire or simple noise, I explored a melting iridescent paint aesthetic. The surface will liquefy and flow before vanishing entirely.

The visual goal was to create a controllable dissolve with a glowing emissive edge. Rather than default to fire or simple noise, I explored a melting iridescent paint aesthetic. The surface will liquefy and flow before vanishing entirely.

Type

UE5, Paint, Dissolve

Type

UE5, Paint, Dissolve

Instructions

275

Instructions

275

Written

03.24.26

Written

03.24.26

Figure 1: Video Demonstrating Shader Color Melting

Figure 1: Video Demonstrating Shader Color Melting

Figure 2: Snapshot of Shader Graph nodes responsible for the Material Melt

Figure 2: Snapshot of Shader Graph nodes responsible for the Material Melt

Dissolve Logic

Dissolve Logic

To solve the melting effect, I wanted to ensure that the dissolve would start from the top to bottom. This began with a bounding box based node, the blue channel is combined with a dissolve noise texture to distort the edge. The noise texture is multiplied by a dissolve noise tiling to give control of the UV seams to the artist. These are then separated into 3 color blends by using a cheap contrast node, creating the dissolved layer, the dissolving edge, and the material underneath. I added a node to account for glow for more customization before plugging the opacity mask into a Dither Temporal AA Node

To solve the melting effect, I wanted to ensure that the dissolve would start from the top to bottom. This began with a bounding box based node, the blue channel is combined with a dissolve noise texture to distort the edge. The noise texture is multiplied by a dissolve noise tiling to give control of the UV seams to the artist. These are then separated into 3 color blends by using a cheap contrast node, creating the dissolved layer, the dissolving edge, and the material underneath. I added a node to account for glow for more customization before plugging the opacity mask into a Dither Temporal AA Node

Figure 3: Snapshot of Shader Graph nodes responsible for Texture Layer

Figure 3: Snapshot of Shader Graph nodes responsible for Texture Layer

Figure 4: Snapshot of Resulting texture and its application on a Base Texture

Figure 4: Snapshot of Resulting texture and its application on a Base Texture

Paint Surface

Paint Surface

I was inspired by melting paint and overlapping colors so I started building the material with 2 texture samples, each with custom panning (controlled by artist). In rotating and panning the specific textures we’re able to simulate advection similar to a lava lamp. After the texture is rendered, I linear interpolate the inverse with a Color Curve (Gradient). The result is multiplied into the emissive node of the result. I added parameters to give the artist full control of the color gradients, panning speed, and noise textures. A Photoshop-style blend mode parameter added as a finish to give the artist control over how the layers interact.

I was inspired by melting paint and overlapping colors so I started building the material with 2 texture samples, each with custom panning (controlled by artist). In rotating and panning the specific textures we’re able to simulate advection similar to a lava lamp. After the texture is rendered, I linear interpolate the inverse with a Color Curve (Gradient). The result is multiplied into the emissive node of the result. I added parameters to give the artist full control of the color gradients, panning speed, and noise textures. A Photoshop-style blend mode parameter added as a finish to give the artist control over how the layers interact.

Figure 5: Snapshot of World Displacement Logic Nodes and resulting effect

Figure 5: Snapshot of World Displacement Logic Nodes and resulting effect

Wobble Warp Displacement

Wobble Warp Displacement

A separate noise texture sample drives World Position Offset to simulate the mesh losing structure as it melts. UV panning in both U and V channels creates a gel-like wobble. The artist has control of the wobble like animation by changing the coordinates (U and V) as well as the speed of the panning. I have two nodes responsible for the magnitude of the displacement, one is the strength scalar and the other is a strength multiplier (more powerful).

A separate noise texture sample drives World Position Offset to simulate the mesh losing structure as it melts. UV panning in both U and V channels creates a gel-like wobble. The artist has control of the wobble like animation by changing the coordinates (U and V) as well as the speed of the panning. I have two nodes responsible for the magnitude of the displacement, one is the strength scalar and the other is a strength multiplier (more powerful).

Figure 6: Snapshot of Shader Complexity of the Color Melt Material

Figure 6: Snapshot of Shader Complexity of the Color Melt Material

Optimization

Optimization

The shader is a single-sided masked material with Temporal AA Dithering, eliminating overdraw and other issues that follow translucency in a deferred renderer.

The shader is a single-sided masked material with Temporal AA Dithering, eliminating overdraw and other issues that follow translucency in a deferred renderer.

Readable Gameplay Iteration

Readable Gameplay Iteration

The core lesson from this project was the gap between technical execution and visual communication. The dissolve edge existed and functioned correctly but because the emissive band sat within the paint aesthetic rather than on top of it, it fails to read as a boundary.

An effect like a dissolve must communicate its intent within two seconds, regardless of how sophisticated the underlying system is. For that reason I expanded the system to include a more visible emissive edge, this is scalable by the artist and solves the visual communication issue. You may see that some parts of the player equipment is still visible after the dissolve, this is because it uses a separate material slot in this test shot.

The core lesson from this project was the gap between technical execution and visual communication. The dissolve edge existed and functioned correctly but because the emissive band sat within the paint aesthetic rather than on top of it, it fails to read as a boundary.

An effect like a dissolve must communicate its intent within two seconds, regardless of how sophisticated the underlying system is. For that reason I expanded the system to include a more visible emissive edge, this is scalable by the artist and solves the visual communication issue. You may see that some parts of the player equipment is still visible after the dissolve, this is because it uses a separate material slot in this test shot.

Figure 7: Snapshot of Updated Gameplay Readable Shader

Figure 7: Snapshot of Updated Gameplay Readable Shader

Thank You for Playing!

Jaden Halevi

jadenhalevi@gmail.com

Jaden Halevi

Thank You for Playing!

Jaden Halevi

jadenhalevi@gmail.com

Jaden Halevi

Thank You for Playing!

Jaden Halevi

jadenhalevi@gmail.com

Jaden Halevi

Thank You for Playing!

Jaden Halevi

jadenhalevi@gmail.com

Jaden Halevi

Thank You for Playing!

Jaden Halevi

jadenhalevi@gmail.com

Jaden Halevi

Thank You for Playing!

Jaden Halevi

jadenhalevi@gmail.com

Jaden Halevi