Took a break from character related stuff and relaxed with a quick stab at some effects work.
Switching gears allowed me to work on another type of mesh swapping animation component I have been meaning to build. This new one is a bit more lightweight than the character specific version as it is intended for animated environmental props and as we see here, some types of effects.
This effect consists of a two frame mesh swap animation, point light, simple particle effect, and a moderately sized material. The material features a bit of refraction, a 32×32 texture, a 32×32 normal map, some world position offset vertex animation, plenty of emissive, and a whole lot of panning UVs.
Of course everything is parameterized, so this should serve as a good parent class for more effects down the road.
This is a quick color change to make a fireball:
There’s still a lot I can add to really flesh this effect out, and I have yet to work on associated spawn in and a hit/dissipate transitions. At the moment I have the projectile blinking on and off to mimic old school techniques for simulating transparency on hardware that did not have such rendering features. I am not quite sold on it just yet. I cannot decide whether or not it looks better with or without the blink. The variable frame rate at which the gif up top was captured isn’t doing me any favors; All of the fancy vertex position offset work I did gets lost. Oh well. I put the flicker on a parameter so I can come back to it later.
I am also a bit unsure of the refractive glass tile look. I am afraid it makes the effect feel like a physical object rather than an ethereal manifestation of force. But it does look pretty cool, so the eye candy wow factor wins for now.
Maximum visual overload is my motto.
Now that I have the framework of the special effect in place, pretty soon I am going to need to work on capturing and deciphering the input stream, looking for valid special moves. I suppose I’ll have to do another character animation in order to tie it all together as well.
Subscribe for best results.