Hey Folks, it’s been a while! I recently finished my Bandai Namco Mobile Reel and wanted to know what you folks thought.
Unfortunately, the project was cancelled- but it was really fun to work on! The folks over there were awesome and it was a great learning opportunity. I learned a lot just by experimenting and studying great VFX artists!
The Mobile environment really does teach you how to be efficient (overdraw/triangles). Shader Forge came in handy for a lot of stuff!
Hey man, these are some pretty cool effects you’ve got here. Love all the long range specials and the AoEs especially! I also love how “Clean” the effects look. I work primarily in Unity as well, so its fun to take these apart.
A few thoughts I'm not sure if are still valid with the project being cancelled.
Personally, I feel like the melee attacks could use a bit more trails to their slashes; and the special projectiles could do with a little variation to the hit impact. Also I’m not quite certain if mobile can handle soft particles / depth fade but can see hard edges where it meets the ground (BabaYaga, Lich, Medea in your presentation shots).
If you don’t mind me asking, what was your process for Banshee’s AoE that lands on the character? The “UFO beam” and the ground growing particles in specific.
@veer Thanks! It’s all good, I’m always listening to feedback! I can always apply it to the next project
Yep, I wanted a smooth Weapon Trails system really bad but it wasn’t considered a top priority and they didn’t have time to develop it. Also, Mobile cannot use Depth Render vanilla (it has to be custom coded post). A lot of my decisions were made around Clarity and low Overdraw for performance reasons.
I didn’t get chance to create unique impacts for projectiles; the melee weapon impacts were actually the most recent addition. If I had the time, I would’ve definitely done element specific impacts to break up the repetition.
For the Banshee, they wanted some kind of AoE spell. Banshees typically screech/wail so “Sonar” based attacks came to mind. Since the spell was meant to hit multiple people at once, it made sense to have it spawn from above rather than emit from the Banshee directly.
It’s bright, blue and fast because it reads well visually and feels like it’d do some damage.
I really like coil trails and it felt “ethereal” and “wispy”. I was trying out different patterns and wanted to incorporate those kinds of trails. I just think it looks nice.
In terms of the specific steps-
I started with the Banshee’s face and sonar wave emitting. (They wanted a face)
Then I added the internal coil and adjusted the thickness/taper.
Lastly, I added the ground impact coil and sparks for the final touch.
Most of the time was spent trying out different coil tapers, patterns and how spread out they’d be. Some guessing was involved in fitting the internal coil into the sonar wave since speed determines the shape of the overall form (image 5). If it’s too slow and doesn’t scale properly then it looks off and you can see the geometry is clearly a cone slice.
I probably could’ve just panned a clamped texture across a cone in hindsight. But hey, there’s multiple ways to do the same thing!
Hey thanks a bunch for the breakdown! Really appreciate the detailed explanation, it makes more sense now but I’m still not sure if I understood how you did the ground coils. Did you size by life the mesh or is there some shader involved in making them “grow” that way. Looks like an inverse alpha mask to me lol but then again I’m pretty inexperienced with shader magic.
Lol, I was having an internal debate about the exact same thing wondering which option it was, although truth be said I would go with your method too as I am pretty much a shader noob. Takes a little longer, but gets the job done lol I’m not sure about efficiency for mobile though.
@veer Ah, for the ground coils it’s a texture being panned up the mesh. The shader is using custom vertex streams to tell the clamped texture to pan up the mesh. It’s similar to this but for Unity- VFX Basics - Mesh Soulercoasters
Here’s what I did for the shader and particle system.
FIG 1 - Set the U AND V values to 0 or 1. Depending on which is 0 or 1 it will pan up/down or left/right. If you set both to 1, then it’ll pan left/right and up/down at the same time. Change it however you want i just set it to U 0, V 1 and unwrap my stuff based on that setup. The way you unwrap it will determine how it moves (you can literally use the shader and rotate your UV’s 90 degrees and it’ll act differently).
FIG 2 - Make sure that UVZW is enabled on the UV COORDINATES node. Plug the Z into the remap and into the Panner. Z is what will tell the particle system to move the texture from -1 to 1. (-1 = offset by 1 in the negative axis, 1 = offset by 1 on the positive axis)
FIG 3 - Enable CUSTOM VERTEX STREAMS in Shuriken under Renderer.
FIG 4 & 5 - Click on the [ + ] icon an add Custom1.xy.
FIG 6 - Add a CURVE and set it from 0 - 1 or 1 - 0 over life (depending on what direction you want stuff to go). Just experiment with this and you should get what you want.
You can add a MULTIPLY with VERTEX COLOR in the Shader if you want it to change colors over life. You can also add a GRADIENT MASK by Multiplying a Texture (black and white) against your Diffuse to create a fade on the top/bottom so it vanishes smoothly. It helps with hiding hard edges when the texture hits the edge of the mesh.
If you’ve got more questions I’ll gladly help out!
Awesome man! I totally failed to notice the fade towards the end lol. Thanks for the shader and shuriken breakdown. I will definitely be trying this out sometime soon and will PM you if I run into bumps along the way.