top of page

Revealing Loot Box

Procreate-Icon.png
Unity.png

Concepting

LootBox_Concept.png

I was assigned to create a loot box reveal that had a build up animation that will reveal the legendary loot. I grew up playing Spyro the Dragon and I remember the orbs you would receive after completion. I took reference of the remaster of Spyro, Spyro: Reignited Trilogy, and put my twist on an NPC giving you a reward.

Reveal Build Up

First, for every Unity project, I always use an empty particle system as placement holder for effects rather then an empty gameobject. By doing this, I'll be able to play everything all together rather then having to select every individual particle system to get it to play. 

I broke up the reveal build up into three different particle systems. They're light being built up from light trails, orbiting stars, light beams, and the pulsing glowing sphere from adjusting the size over lifetime. For the trails, there are many methods to approach them. Instead of making a soulercoaster, I created a texture to put into unity to make a material. I plugged the material in as a trail material for the renderer then I added velocity, size, and color over lifetime. For the other three particle systems, I used the same method of creating a custom texture then making it a sprite while adding channels such as rotation, velocity over life time for the orbiting inward, and adding pulsing effects with size and color over life time.

T_WBGlow.png
S_YellowLine.png
Flare.png
S_GreenTrail.png
star.png
T_Flare.png

For the glow of each particle system, I wanted to create a Lit URP shader graph where I can swap out different textures so I can create that 'magical' reward reveal and have three surface inputs to be able to change the smooth step, emissive contrast, and intensity. To do this, I used the alpha channel so I changed the surface type to transparent. I plugged in my sample 2D texture and used its RGB channels. The R channel is being plugged into a power node for emissive contrast to then be multiplied by the intensity. Following that, I used another multiply with the vertex color that has been split into RGBA so I can utilize the alpha channel. I then used the modified texture channels to combine through a final multiply node to be able to plug it in to base color and emission. For the rest of texture's channels, I take the B channel and plug it into the smoothstep and then multiply by the G channel. Taking that output, I multiply it with the vertex color's alpha plugging all of that into the alpha.

bottom of page