Since it's #madewithunity Friday I wanted to share today an effect and its breakdown.
Some time ago I was asked to quickly code an "enter the matrix" #VR effect in under 2 hours for a trailer that needed to be released that day. That meant I had to go for simple, yet effective 👇
Thankfully, our talented art team had some great graphics to work with. The goal was to use them well and go for a simple effect with a good execution.
A good execution can make an average effect look great, while a sloppy execution can make an advanced effect look average.
How do we tweak execution? Mainly improve 1) which parameters you feed the effect, and 2) how they evolve over time.
The exact same effect, with different parameters and timing can make it look "meh" or make it shine. Always spend time tweaking!
The effect has two steps: First a grid is drawn from back to front. Objects are rendered using a shader that discards pixels on one side of a moving plane.
The fragments that do not get discarded are textured using a tileable grid with triplanar mapping. Another angle:
The second step spawns objects with a flash. I take advantage of the fact that there are many of them, generating points of interest chaotically around the screen. The goal is to create a surprise element and play it quickly enough to not let the user figure out what happened.
Here is a slowed down version of how the flash works. The glow is not only used to improve the effect, it is also used to hide the object popping up behind it.
The colored version is drawn on top using additive blending with a decreasing alpha over time.
Here's another view of the scene.
Most tweaking was related to durations (plane step, object spawn, total spawn). A common temptation is to overuse an effect to somehow overcompensate for the time spent on it. I like to show them briefly to tease instead. Even slight differences matter, for example a bit longer:
Actually I wanted to use these very short duration settings. My idea was that it would have the surprise element and maybe make the user view it again. During my Demoscene days, my goal for every demo was to show cool stuff but leave the user with the desire to watch it again.
In the end we used an intermediate version. There were some sound effects already available and having tight music/soundFX/visuals synchronization to me is extremely important.
Let's try a video for this last one and hope encoding doesn't mess it up :)
You can follow @entromp.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: