Heart Electric: Tech

TECH ART – HEART ELECTRIC
=================================

During my time on Heart Electric, I was responsible for and developed shaders,
tools, and systems to support the environment art
pipeline while maintaining strong runtime performance.
i got assistance from:
https://www.artstation.com/ryanbartonvfx
https://www.artstation.com/elsapatel
https://www.artstation.com/jmostowski
-----------------------------------------------
LANDSCAPE SHADER
-----------------------------------------------
- Built a 16-material landscape shader with full RVT.
support and RVT blending.
- Includes a paintable water rim.

Artist controls:
- Base color multiply.
- Roughness.
- Normal strength.
- Height map flipping.
- Specular.
- Noise overlay tint.
- Tiling, brightness, and desaturation.

- Cell bombing, triplanar mapping, and automatic grass
placement were evaluated but removed due to artistic
direction and runtime performance concerns.

-----------------------------------------------
PROP MASTER MATERIAL
-----------------------------------------------
- Versatile vertex-painted master shader with
toggleable features.
- Supports three textures per vertex Channel:
BaseColor, HRM, Normal.

Artist controls:
- Color: saturation, brightness, contrast, multiply.
- Material: metalness, roughness, normal strength, emissive strength and tint.
- Rotation support by utilizing WPO.

- Later expanded with value tinting at the request of
the Art Director.
- Supports RVT blending with the
landscape.

-----------------------------------------------
FLAGS & CLOTH
-----------------------------------------------
- Developed WPO-based shaders for cloth and flags.
- Implemented VAT (Vertex Animation Textures) for
in-game flags to achieve dynamic movement.

-----------------------------------------------
WATER SHADER
-----------------------------------------------
- Performance-focused water shader using Unreal’s
SimpleWater model.
- Rendered opaque instead of translucent or masked
to reduce runtime cost.
-Fake Caustics added by Ryan Barton.
-----------------------------------------------
"EDGE BREAKER" MATERIAL
-----------------------------------------------
- Created a shader that is placed on top of edges on geometry to break up the straight edges without having to have had sculpted unique geo for each mesh.
-----------------------------------------------
HLOD & IMPOSTORS
-----------------------------------------------
- Explored Unreal’s HLOD system to batch distant meshes
and reduce draw calls.
- Implemented impostor meshes for distant foliage,
reducing final LODs to only a few triangles.
-----------------------------------------------
DESTRUCTIBLE MESHES
-----------------------------------------------
- I researched how to use unreal engines new Chaos Destruction system which we ended up not using due to techinical limitations, however it turned out to be a very useful tool to generate destroyed mesh chunks from the original meshes that we used in our niagara systems that were setup by Ryan Barton and then tweaked by me.
-----------------------------------------------
PIPELINE & MODULAR ASSETS
-----------------------------------------------
- Set up a Blender to Unreal pipeline with a Blender.
material library that reassembles Unreal shaders.
- Advocated modular asset workflows where feasible.

Vertex-painted modular assets:
- Targeted ~1 vertex per meter.
- Mostly handmade collisions.
- LODs generated in Unreal or manually when needed.

I Created a watershader utilising the singlelayerwater shading model in unreal to be able to save on performance since this water actually renders as an opaque shader rather than translucent or masked solution.
Later on Ryan Barton added fake caustics.

Landscape Painting Example, Height based blending inbetween layers with options to invert heightmap etc.

Example of the landscape material exposed parameters and controls for the artists.

Example of painting the water rim and smoothing it out.

Example of RVT blending on specific materials to enable it where necessary while keeping the setting turned off in other areas.

Example of the prop master material and the controls that are exposed to the artists.

Example of the blender to unreal pipeline I setup a using epics own blender to unreal addon and setting up the shaders from unreal as closely as i could in blender and made a library to use for all blender users.

Example of Vertex Painting that takes height into consideration and allows the artist to add breakups to the vertex paint gradient, 1 veretx per meter on the modules here LOD0, geo around edges are for the edgebreaker decals.

Example of the mesh edge decals in action, they use a simple mask and nullify the normals to add some details, video shows result on/off.

The prop master material supports WPO Rotation of assets, the speed is controlled by the custom primitive data on the individual meshes.

For the decals in Heart Electric i chose to put the textures in an array and then used the "decal color" node to be able to select which texture from the array and also tweak the normal strength without creating a bunch of material instances.

The first video shows a flag simulated in Blender. The animation is looped and baked into a vertex animation texture, which is then used in Unreal Engine to offset the vertices.

I wanted to learn more about impostors so i was utilizing Ryan Brucks Amazing Impostor tools to create impostors for foliage such as the palmtrees to reduce tricount at a distance.

Destructibles Example: I initially wanted us to look into chaos destruction which we ended up not going with due to us adapting a thirdparty for the networking of the game called snapnet which resultet in us switching the destructibles to niagara instead.

Example video that i made back in 2022 that shows me generating HLOD's the manual way in unreal engine 4/5.
You can see that the meshes + materials get merged into one single mesh and one material at a distance, this saves on drawcalls.