While doing this project, I had a few goals in mind. The first was to practice groundbreak simulations in Houdini, the second was to make texture transition shaders and the third was to do some scripting and set up some VFX systems.
The animations and character models were taken from Mixamo, the greatsword was taken from the Asset Store package ‘SciFantasy Sword Pack’ which was created by RB.
Software I used:
Unity (2020.2.1f1) – for creating VFX, scene & rendering,
Adobe Photoshop – texture creating & editing,
Blender – 3D models,
Houdini – groudbreak simulation.
All of the effects were created with VFX Graph & ShaderGraph which were then rendered in High Definition Render Pipeline.
For the glowing sword effect with trails in total 5 textures were used and one mesh.
For the textures to work I created a shader in ShaderGraph that would show and offset the noise textures that were then multiplied with a Fresnel node to control their intensity.
For the transition effect, I used a gradient texture and a custom texture that I created in Photoshop. The transition helps to control the first appearance of the effect.
The noise strength and transition properties were then controlled with the Timeline feature to appear or disappear at the right times.
The simple spark effect & trail effect were created with VFX graph and just use one texture.
For the groundbreak part: 9 textures, 1 mesh, and 1 mesh simulation were used.
For the crack textures to work, a specific shader was created in order to control the appearance of the textures, their colors, movement, and strength. The crack textures were displayed on a plane and did not use any particle systems.
For the appearance of the effect, a gradient texture was used.
For the dissipation of the effect, another noise texture was used.
For the additional cracks, the same shader was used but just with different textures.
For the additional crack dissipation, the same noise texture was used just as for the main cracks.
For the projectile, a vertex offset shader was created so that the vertices could be moved with a texture according to the texture’s colors. A custom mesh was also created for the lava lump so that it would have more cuts in it. The projectile itself was scripted so that it would have velocity once the effect is initiated.
The groundbreak simulation was created in Houdini and then exported to Unity. Essentially every part of the broken mesh has an individual bone that was animated. The weights of the broken parts differ at different parts of the simulation to imitate a stronger hit at the end. The animation speed was tweaked with Timeline.
The impact effect was created only with the VFX graph and consists of 4 textures. The same impact effect was also used when the sword hits the ground but it was just scaled down.
To spice things up, a camera shake was added along with point lights appearing at a certain time, also the enemy glows up once it is hit with a simple Fresnel shader 😉
While making this effect I also tracked my progress quite intensely, below you can see the interations of the project.
As mentioned before, I had a few goals in mind while creating this project. The first one was to practice Houdini which I have rightly done so, I had a few difficulties but managed to get through them. The second one was to make texture transition shaders which was a bit of a new thing for me but I am so happy that I tackled this and got a few new techniques under my belt going forward. Finally, the third goal was to practice scripting and set up some VFX systems, which humbly said I rocked it, well, at least at the end of the project and not at the start 😁 This left me with a template VFX system project that I can reuse in the future! Without these goals there are plenty of skills that I sharpened and also learned some new tricks.
In conclusion, this was a pretty cool project to do. New skills learned, old skills sharpened. A big thanks goes to all of the people who gave me feedback, this allowed to push the project even further.