[How would you do this] Naruto vfx - ground shatter


#1

So as many of you might know, I just love the naruto fighting game vfx and I tend to watch at least one compilation of it once every 1-2 weeks.

By now I think I have a firm understanding of most of the mesh and shader-work going into them but one really baffles me, the ground shatter effect seen here:


( use “.” and “,” to skip a frame/previous frame )

I am not talking about the sphere, or the small rocks flying, but the floor shatter effect.
While in most cases when they use an effect like this, often the effect behind it is so bright they get away with a simplified version, but this particular one does something extra.

From what I can tell:

  1. Vertical (cylindrical) mesh bend around the radius of the sphere.

  2. No actual rock meshes (would be too expensive in this case)

  3. You can definitely see it panning/tiling outwards around 1/4th of the left side of the effect.
    about here:

  4. going trough a horizontal tiling flipbook or mask. (though with some clever uv-distortion one could fake this)

now where I am confused on what they are doing.
If you pay close attention on the left, but most noticeable on the right side they are faking(?) highlights on the rocks, and potentially fake(?) some of the light rays going trough them inside the texture.

While it could be done trough post processing/light rays I expect both to be too expensive a thing to use for this (kind of) game, especially the light rays.

So I am wondering how they are faking this inside the texture (or actually, how they are doing this in general), making it look like the light is coming from the right angle.

Since the texture is clearly panning (or at least, I am experiencing it as panning) I dont think its just one horizontally tiling texture. it could be that its flipped and blended around the location I pointed out.
And the details of light drawn into the flipbook depending on how far away a rock is from “the center”.
but it would still result in a somewhat expensive flipbook.

Things I tried:

  1. Slight offset in the cylinder-ring mesh in a 2nd uv and blending between both uv’s to fake it.
  2. slight bump-offset and blending. which gives somewhat okay results but feels off.

    (would need some iteration to mask out the opposite side)

Things I considered:

  1. POM, but would be too expensive.(?)
  2. Normal map (or other math) that depending on angle the polygons are on shows highlights.

But, perhaps I am overthinking it by looking at this for way too long by now.
The cheapest way to recreate it would be to neglect the highlights but since I sunk my teeth into trying to find out how they did it and how they kept it as cheap/performant as possible…
Id really like to find out.

Thoughts? advice? ideas?


#2

Normally, that type of effects are made with a dissolve noise base.
example image from Xiaozhe Jin:

its quite simple, the opacity clip as a step of the noise, and with some panning on the noise it will be like the example. (obviously that effect is with more gameObjects each with its panning speed and color)

VFX on dragon ball and naruto are mainly about using this effect


#3

Wow, so beautiful colors…


#4

While that effect is neat, imho it doesnt come close to what they do in that particular shatter effect.


#5

This post by @DeepSpaceBanana might help you

DeepSpaceBanana's Sketchbook

Also Klemen Lozar has done something similar.


#6

they are not using meshes.

This would be a viable option for sure, but again, they arent using meshes.
At least not like this. there are a few instances in their vfx where they use skelmeshes/vert animation (outside of using it for the characters) but this is clearly something on a simple plane.


#7

Maybe something like this, Klemen did a while ago?


But instead of being directional, it’s radial and screenspace with fixed central point to position of sphere?


#8

This is something i’d def see them use for the small rubble thats flying above it.
It could be used for something like this as well, but as someone who is dyslectic when it comes to code, i’d like to avoid custom hlsl. (which is not a good excuse) but I am sure its recreatable (at least a cheap knockoff) in ue4 using regular nodes.

Not sure they’d go this way though, looking at how simple generally everything else they set-up is.
(not saying their effects are simple, but if you take away the camera cuts/char animation, most of it is relatively easy to create)


#9

Do not fear the code Yoeri!!

Though i’m wondering if just having some fake Normal Data in the shader would be enough to get that effect? at least for the highlights around the rocks or whatever. Normal + BumpOffset.


#10

While I dont fear it, I am not joking when I say I have code-related dyslexia.
I have practiced it for years at school (from turbo pascal all the way up to c++) but I can still barely read it. it just makes no sense in my head. (that included html, css, flashscript, etc)

and yea, I was thinking a bumpoffset (as mentioned in my OP) could work.
Would need to make a test-case to delve into it deeper, initial (poor) test didnt give me what I liked.


#11

maybe there’s a screen space effect pulling pixels away from some point on the screen. in this case away from the center of the ball


#12


the light rays going trough the mesh cuz of post processing
postprocessing-ray
[00:02-00:03 ] the BOOM seems to be more brighter.it use the same trick.
an EXPLO
hope this could help you.


#13

This is kinda the trick that they use for vfx that has a very bright energy sphere and a dark background.
Its not he same technique as the example I showed, but a neat technique it is indeed! :slight_smile:


As for the effect, taking a few days of pulling myself away from it before diving back in.
Will show progress once I do more tests though :slight_smile:


#14

nice. cant wait to see :yum:


#15

Hey Luos

Looking at the rock textures they’re not just panning they’re morphing too. Almost like a height field terrain map with flow noise if that makes sense.


#16

might just also be a shader with a rock texture getting subtracted by noise and has a gradient on Y axis that controlls how hard it distorts it.


#17


http://bbs.cgwell.com/thread-12681-1-1.html

http://pan.baidu.com/s/1o6y2yMm

if u can download from baidu, in there are the source files for the flying stones for this effect