Hey there everyone. I’m still fairly new in the world of video game VFX so there are some techniques I have never experimented with.
So I just saw the new Kingdom Hearts 3 trailer and at 3:33, you see the character hitting the ground with his hammer and creating ground cracks with actual depth. Here is the link to the trailer:
What are techniques I should start looking into to achieve similar results? Links to tutorials would be very nice!
I really wish I could remember who posted it on Twitter (It’ll take me forever to dig through my likes) but someone did a decal that used bump offset and normals, and the decal seriously had me fooled that it was geometry. The poster said they were working on optimizing it, but I never heard any more from it. Someone else posted almost that exact effect, but used a sphere volume to to influence where the effect happened and how deep those “cracks” went.
If I come across it again I’ll come back and post a link
Hey thank you all for your replies! I’ll make sure to check all the videos. Right now I have them playing while I’m working on other stuff so my attention is not completely there.
That’s absolutely a POM style effect. It’s too complex a shape to be done efficiently with a geometry based effect (though is possible to do).
There are two major styles of the effect, Parallax Occlusion Mapping and Relief Mapping. They’re both slightly different ways of doing height map raytracing in a shader and people frequently use both terms to describe the same technique though they are different. The more general term is Steep Parallax Mapping.
For UE4 this is a built in material node.
Unity has built in support for parallax offset mapping that can be used with their Standard shader (using the height map) and surface shaders relatively easily, but this is a much more simple effect that cannot replicate the look above and more useful for lumpy, soft shapes. You would need to implement this yourself or buy an asset from the asset store.
Yep, definitely POM. Something about alphafading a POM decal away like that really irks me. There must be a better way. Erode the mask to close the cracks or whatever. Same thing when it’s used for scorchmarks/craters. Fading something with actual depth looks weird…
Agreed, though I kind of understand why they did it the way they are. They’re probably using a single channel height map & mask where the mask is just clip(height - 0.9) or something similar and the deepest parts look flat so they probably can’t nicely erode it away. Also having to trace into a height map with a non-uniform height scale does increase the cost a bit as you need to sample both the texture and whatever function is being used to fade at every step. Still, makes the effect feel not quite right if you look at it too much, like we are.
Well, here is my first attempt! I went to learn Substance Designer to do this. Still having trouble with materials in general (how roughness, metallic and such work), but I can produce the textures I need.
I’m simply previewing the height in parallax occlusion mode. Getting the same effect that I would have if I had a shader for this in a game engine, I imagine.