In Yerba Buena, the glitch effect represents the objects that player can paste traits onto.
The glitch effect is a full screen shader that uses an object ID pass and layer masking to apply the glitch pass to specified game objects.
I have written custom URP renderer features to implement this, as well as maintain it, optimize it and update to Render Graph API.
The shader uses biplanar world-space UVs instead of screen UVs to be static per object instead of move with screen space to avoid motion sickness and artifacts.
Below you can see the early explorations that use various shader methods.
This is the full-screen VFX that I worked on for when the player dies. It has similar visual language to the pastable object's glitch effect that resembles something broken in the virtual game world of Yerba Buena.
I worked on the screen shader as well as its implementation as a custom post-processing stack (volume component) using URP's renderer features Render Graph API.
The collectible objects represent a dev log in the virtual game production of Yerba Buena.
The effect was created using Unity's Visual Effects Graph, with multiple emitters and custom shaders for effects such as distortion, procedurally animated sine waves and other texture motions.
Portals are used in multiple levels of Yerba Buena where objects are spawned to the virtual game world.
This effect was made in collaboration with my colleague Noah Garcia who worked on the particles using VFX graph.
I worked on the main quad's shader; which uses a custom calculated cubemap UVs for the background, then a parallax occlusion mapping of textures overlaying it, and makes use of procedural alpha to animate appearing and disappearing.
I also implemented a custom depth-stencil buffer and set up game objects that pass through the portal with a multi-pass shader. The game objects appear on the stencil mask, as well as outside the portal while being completely cut off behind it.
While the above portal is used in various parts of the game to spawn objects from as well as teleport the player from one place to another; we needed a different visual treatment for portals that are controller by the game's villain.
I developed the effect in VFX graph, with a shader for polar coordinates, procedural swirling noise and distortions.
This gameplay VFX is triggered when a pastable object that received a motion trait can no longer move due to colliding with another surface.
I worked on the pastable object's shader, the particles that spawn around the object, and worked on its implementation. The particles are always spawned in a relative way to the object's bounds size and orientation so that no matter the camera angle or the object dimensions they are positioned and rotated correctly.
The lasers are puzzle obstacles in the Bunker level of Yerba Buena. I worked on the implementation of this effect.
The lasers are meshes that need to be dynamically resized with updated bounds based on the surface they hit, and spawn particles where the hit position is. I did heavy refactoring over the course of the production as the laser system transitioned from MonoBehaviour to ECS/DOTS. We have hundreds of instances of lasers in the level and many moving objects, so I have implemented burst jobs. I also created randomness in properties such as offset and speed, so the lasers didn't look synced and repetitive.
The particles and shaders are created by Noah Garcia, with feedback from me and our art director, Giulia Pratillo.