Ivan Ostanin - Sketch#60: Earth Bender

This is my first time participating in the monthly skechas, I’ve been wanting to participate for a long time.
I’ve been thinking for a long time about what I can create, I’ve never dealt with earth magic and everything I’ve looked at from the effects looks beautiful, but standard. I spent a few days looking for references, I think I found some interesting options.




When I started thinking about the technical stuff, the houdini in this variant is very favorable because the vertex animation is cheap and easy to execute and Houdini is my main tool for work. I decided to try and build all the dynamics in niagara, this will be a bit of a challenge for me.
My idea is to create a kind of pulse grenade, which will consist of 3 stages.
The first stage is an impulse that creates a wave of earth shards that will slow down in time.
The second stage is a charge of energy that will charge the explosive wave, the earth fragments will be collected in separate elements and will be tipped.
The third is the explosion itself.

I’ve been using Lyra starter game for prototypes for some time now, so I filled the scene a bit with geometry from megascan that would be immediately oriented to the final version of the color and shapes. I duplicated the shotgun that I now use as a grenade launcher.

GIF 2023-12-04 11-10-38 PM
GIF 2023-12-04 11-10-38 PM|680 x 488

5 Likes

As for the position sampling, I used triangulated geometry to distribute the vertex geometry. Also, the first difficulty was to animate and rotate the geometry so that it would slow down nicely, I started using scratch pads to create animation, basically it was, of course, rotation with quaternions and remapping the positions of particles. At first I just animated the position and rotation without a solver, but soon I realized that it would be easier with a solver and it would look natural.





GIF 2023-12-04 11-10-38 PM

9 Likes

Oh it must be epic :star_struck:

1 Like

I finally finished the prototype. As for the dynamics, maybe I’ll tweak it a little at the end. As for the final explosion, I’m not entirely sure yet, that’s the first thing that came to mind, but maybe I’ll leave it that way.

Screenshot 2023-12-11 183431

I’ve already done a lot of things here, I’ll try to share some details.


My system looks like this, almost everything is on gpu.
There are emitters where there are a lot of particles and geometry is used that can be replaced with sprites. To be honest, I’m not sure how things are with geometry now, whether it loads the system much more than sprites or whether it’s tolerable.
.
.
.


.
For particles that are drawn into the sphere, I use Particle Attribute Reader, here everything is standard, I used an example from ContentExamples. Here I have particles that are collected in a sphere and sprites with noise.
.

.
.
.

I had to assemble a lot of my own modules and all because of one thing, I’ll explain below.
Here, for example, is one of the simple solutions for a controlled, or rather more controlled in terms of “drag” Point Attraction Force.
I used the first part from the Point Attraction Force module itself, this is a standard thing that cannot be changed in any way and is not necessary). In the second part I used a curve that gives direct control to “drag”, which is very convenient.


.
.
.
In order for the explosion to be dynamic and then continue to move in one emitter, it was necessary to first stop all the dynamics, and then smoothly turn them on.
I made the mistake of not doing Dynamic inputs with this at the beginning, and had to re-do some modules.

Using NormalizedAge we stop all dynamics, and then use it to start again for the Vortex Force modules

These are Dynamic inputs to start dynamics again
image

.
.
.
I had to divide the main first explosion into two parts, those that are pulled into the sphere and those that continue to spin around.
Ideally, of course, it would be nice to be able to separate particles by id and pass the id to the particle attribute reader for one branch of particles and to another particle attribute reader for another branch of particles.
.
.
.
Now you can start adding beauty to the effect and removing those primitive white pieces). I’m going to use megascan. If this is not a stylization, and fortunately it is not a stylized effect, I can take those pieces of geometry that fit the environment and optimize them as much as possible.

2 Likes

update of the still unfinished first part
shader

2 Likes

The explosion itself has almost finished, there are a lot of distractions that do not allow me to work normally, I hope to meet the deadline. I think a little later I’ll post something from the process.

shader
This is where I started adding a little magic.
shader

4 Likes

small update
frame

2 Likes

small pebbles made in Houdini, they are just a bunch of small objects and the material is masked
.


image
.
.
.
To fill the main mass I used the texture of the stones, a common technique.
.

image
.
.
.
A compromise had to be made here. These stones are from the megascan, 5th LOD. And additionally the number of polygons has been reduced. If reduce the number of polygons even more, the shape is lost, so I didn’t have to reduce it too much.
Although if this were a game effect, it would either be vertex animation or reduce the polygons even further.
.


.
.
.
For all effects, standard noises that were in the engine were used. To be honest, I don’t really see the point of doing additional ones in this case.
.

image

.
.
.

image
imageimage

.
.
.
image

.
.
.
image

image

.
.
.
Houdini and axim were used for all simulations.
.
image
frame

.
.
.


.
.
.

image

image

.
.
.

Houdini and the TerrainFX tool were also used for the decals. I didn’t bother too much with the decal, since it’s not particularly visible, although I did have to tinker a little with the mask.
For Houdini, I had to think a little about how to get normal, I found this option on some forum.
If you use the hpaste tool for Houdini, you can use this link
image erazadesap@HPaste

image


image

.
.
.



.
.
.




image
.
.
.

I added smoke, now I think start the explosion. I’ll limit my work with it to wave only, since adding ground damage will be quite a lot of work for the rest of the days. And in general, the effect is a little overloaded now, I would optimize it a little before doing ground damage. While working on it, I tried as much as possible not to use anything unnecessary, but still, all this geometry most likely will not work very well on weak computers.
frame

10 Likes

13 Likes

Curious about the swirling fluid. Are you bringing that in as a VDB?

it’s sprite sheet with normal map

o wow. thats very effective. Nice job!

1 Like

Very cool! How does it look from below or very near? Does it have any bad angles?

from the side and close up it’s good, I didn’t count on the position from the top and therefore for dust it need to add “relative to the camera vector” to the sprite orientation