Click Here to view all the amazing entries to Rookie Awards 2024
A visual effects and shaders journey
Share  

A visual effects and shaders journey

Benjamin Billard
by DumbAsh on 31 May 2024 for Rookie Awards 2024

This post is a testimony of my learning journey as a game developer student specialized in Shader Graph and Visual effects. The shaders were made for Apart, the group project I'm currently working on for my last year as a Game Conception student at ESMA. The Visual effect is part of my portfolio.

4 69 0
Round of applause for our sponsors

Hello Rookies !

I'm Benjamin Billard, an aspiring VFX Artist.

Currently finishing my studying degree as a game developer at ESMA.

I'm here to show you the work I have done this year for my group project in Apart, and the work I have done for my portfolio.

For the context, Apart is a contemplative game, where you play as Gaspard, a young shepherd going on his very first transhumance with Amos, an experienced border collie he inherited from his aunt.

You'll have to team up with your dog to lead your sheep herd through the mountain to reach the top pastures.

And now, let me introduce you to my work.

Hope you enjoy it !

I made the grass using Shader graph.

The idea was to have a dreamy grass, with color & size variation, wind simulation and player interaction.

One of the first features I implemented was the color blending with the terrain underneath it.

To do that, I rendered the terrain's texture using a camera in an orthographic view. I then use the rendered texture in my shader graph so that each blade of grass samples the color at its base to blend with the ground.

Then, I added a variation in color inside each blade of grass, by darkening the color at its top.

To make the grass feel more alive, I then added a swaying movement to it, to simulate wind.

For that, I used a scrolling noise with parameters that can be modified, to make a slight vertex displacement in the grass models.

The last feature, and also the one with which I had most of the difficulties, is character interaction.

There are 3 different sizes of grass: small, normal and tall. The goal was to have small and normal grass flatten and tall grass bend when Gaspard, Amos or sheep were walking on it.

Once again, I used a camera to render a black and white texture. Each character has a VFX Graph attached to it, spawning particles on its path.

I then sampled that texture into the shader to get the information of the characters' positions, and then use that to flatten or bend the grass at those positions.

Stylized lake shader graph.

River and waterfall shared feature: foam simulation and scrolling lines in the shader to simulate current.

River and lake shared feature: color variation based on depth.

Depth is determined by calculating the distance between the surface of the water, and the closest 3d model behind it from the camera's view. I then lerp shallow and deep color according to a depth parameter.

Lake specific feature: shore foam.

Using the same method used for color variation, I can display foam on shore.

By duplicating that foam and making it scroll along those shores, I get a wave-like movement along shores and objects colliding with the surface.

Lake specific feature: surface caustic-like effect.

By scrolling two caustics textures in different directions, I get this surface effect to make it feel like the water isn't completely still.

Waterfall specific feature: haze.

Using Unity's VFX Graph and Shuriken, I simulate a waterfall haze near its 3d model.

Other common features:
     - All shaders include vertex displacement to reinforce the water movement features.
     - River and lake shaders include a slight refraction of the models underwater.

Here is the first visual effect I made for my portfolio, inspired by druids in medieval fantasy media.

The idea was to have a spell that charges up the water in the air into an energy sphere. That ball of energy then splashes into the ground, summoning a healing zone that lasts a few seconds.

The effect is composed of different layers :
     - The particles charging up energy (VFX Graph).
     - The water sphere charging up said energy (VFX Graph + Shader Graph).
     - The splash particles when the energy sphere touches the ground (VFX Graph).
     - The ground texture (VFX Graph).
     - The "god rays" / light effect behind in the second part (VFX Graph).
     - The energy waves and external part of the effect in the second part (VFX Graph).
     - The particles along those waves (Particle System)
     - The Particles emitting from inside the healing zone that are going up (VFX Graph). 

Part where the spell charges water energy into a water sphere.

Healing zone, after the water sphere splashed into the ground.

Shader graph for the water sphere.

Textures used for all of the effects.

Thanks for watching everything to the end !

Artstation
Portfolio


Comments (0)

This project doesn't have any comments yet.