Fire Spirit

Fire spirit is the 1st spirit the player will meet in Paws. He has been waiting for a long time for someone to come into the cemetery to help him finish his final wish. With his flame dancing around him, he can't go pick out a flower as an apology for the trouble he made for his late owner.
In-Game Look


Procedurally Scatter Flame Cards:
Setting Up the Mesh:

I split the base cat mesh in parts to allow myself to focus on individual parts easier.

At this point, I test scattered flat cards by using the measuring node to measure gradient of the mesh and output up attribute for the copy to points node later.
-
Card shapes are too uniformed
-
Cards are not covering the body mesh well enough
-
Need bended cards to make the flame look more organic


After creating 3 different variations of cards in Maya, I imported them into Houdini and assigned them unique names for them to be scatter randomly later.

I did a quick test in Unreal Engine on how it looks. The texture alpha was hand-drawn in Photoshop. The shape looks ok and the UV tweaking was working.

After consideration, scattering individual cards was still not enough to create the fluffy flame look. I decided to turn the 3 variations of cards into 3 different clusters of cards.

I created attributes on mesh and controlled them by using Attribute Paint to determind the cards' spawn angle, spin angle, scale, and density in areas.

After scattering points to a desired density for mesh parts, I used a For Loop to scatter the cards onto the points.

By randomizing the UV transform attribute, I was able to shift each card's UV position in the for loop.
UV Attribute for UV Transform in Houdini = UV Set from Maya
I brought the scattered cards into Maya to further manually tweak the positions and coverage. Later I created UVs for the cards for the UV randomizing in Houdini.

Click to see:
Vertex Color Setup:
Color randomizations are based on iterations.


Metadata:
Create iteration numbers we need later.
These steps are a fix for Houdini combining my UV channels together.
