Rookie Awards 2024 - Open for Entries!
3RD PERSON VERTICAL SLICE PROJECT
Share  

3RD PERSON VERTICAL SLICE PROJECT

by Nextline501 on 24 May 2022 for Rookie Awards 2022

I teamed up with Level Designer Alexander Sjöberg for this project to create a Dark Souls inspired third person vertical slice with a Ghost of Tsushima inspired touch. My responsibility was to create the dynamic visual effect systems and shaders. That is all ambient effects, water shaders and interactive leafs.

11 1045 1
Round of applause for our sponsors

PROJECT FEATURES

Scripted Actors

The actor's movement, behavior and combat features were developed by Alex. I developed the infrastructure actors need to interact with the world. We used perforce as source control when working on the actors source blueprints. For this project, we have one player and one boss AI.

Dynamic Leaf VFX System

I developed the dynamic interactive Leaf System in the project. I have made a specific technical breakdown, for more details follow the link below.

Read More

Dynamic Water VFX System

I developed the dynamic interactive Water System in the project. I have made a specific technical breakdown, for more details follow the link below.

Read More

Ambient Effects

There are also relatively simple ambient effects that I added to the level, such as falling leafs from the trees utilizing the rotation from the dynamic system. The firefly clouds creates a natural light source to highlight details in the level they have collision and make their way around like a living bug would.

The Level and Art

The Level Design is made by Alex and the art direction takes heavy inspiration from Japan. Visit Alex portfolio for a more detailed explanation of how the level was developed. We used Quixel mega scan assets for the meshes.

Performance

We have monitored performance in this project carefully since we use so many particles for the effects, heavy shaders and expensive mega scanned assets. Performance vary of course depending on the hardware, but on our machines at school the demo runs smoothly, which is our benchmark.

Lighting

Alex was responsible for lighting the scene.

 

TECHNIQUES USED TO CREATE THE LEAF VFX SYSTEM

Niagara System

The leaf system utilities many default modules in Niagara to achieve the effect, such as collision and drag.

Custom Niagara Module Scripts

To achieve the desired effect, additional custom module scripts is needed to get the mesh particles to interact with actors and also solve unintended behavior.

Principles of Simulating Large Crowds in Niagara

The system uses ideas from large crowd simulation, each particle have an infinite lifespan and reacts to the world as a separate entity. In theory one leaf could be pushed to an infinite amount of locations.

Blueprint Interfaces

Blueprint interfaces are used to neatly send necessary actor data needed to simulate the effect. Each actor who wants to interact with the leaf system have their own separate data interface and custom Niagara Module Scripts.

Blueprint Solutions

The system lives in a blueprint, this controller is responsible for holding the system collecting data from different interfaces and sending the data to Niagara. The system is highly scalable and can be re-used in all over the world. There is no limit to how many actors that can interact with the leaf system, as long as the system is aware of that specific actor.

TECHNIQUES USED TO CREATE THE WATER SYSTEM

Runtime Virtual Textures (RVT)

The RVT projects a mask at the actor location to manipulate the normal to create ripples.

Signed Distance Field (SDF)

The shader samples the distance to the nearest surface and uses a sine wave to create waves to break hard edges at the shoreline

Normal Blending

Normal blending is a common technique to create static ripples in the shader, this shader uses three textures that pan in different directions.

Tessellation

The shader can re-use the RVT mask to mask out tessellation to allow manipulation of the water plane's geometry.

Single Water Plane Rendering

The Single Layer Water shading model is an Unreal custom render pass that allow the shader to achieve its transparency. This render pass also allows the shader to sample the light frequency to color the water.

Particle Systems

The water system uses different particle systems to spawn water splashes and steam at the actor's location if logical conditions are met.

Animated Caustics

The water shader also have animated caustics this is an important effect to sell the water look.

Blueprint Solutions

There are blueprints that spawn and animate the RVT ripples, and also destroy each RVT after the animation to save performance. The system also line traces to check if actors are in the water or on land. The blueprints also spawn all systems such as Niagara particles.

Sharing Data Between VFX Systems

The water systems samples an offset position of where the player has been and sends this data to other VFX systems. The data sent can then be taken into account when calculating their separate effect.


Comments (1)