The first part of the simulation is simple, only crowd simulation switch states. Each particle initially receiving a linear force to go up. In addition, each particle also switches two different behaviors while it's flying, flying up and flying random directions. The behavior control by the Fuzzy Logic. Transition is also used in between those two different behaviors.
The second part of the simulation requires the particle switches to another state once it hit a certain area. In order to make particle trigger in different time after the particle hit the certain area, I added a time shift for the swtich. Combined with other simulations and cache, the particle switches to a burning state which is a static pose for the Monarch and assigned fire simulations on the particle and follow the particle.
After the fire simulation finished, the particle switches to another state, broken state. At this poinrt broken state is only using the particle position and velocity. I wrote a PointWrangle to carry the data and gives to a pre-fractured Monarch. And run physic simulation to blow away all the chunk picese of Monrah.
An example of crowd simulation showing particles are switching different states dynamically.
Each particle takes different behaviors by Fuzzy Logic: Walking state, flying state, landing state and waiting state.
From Walking state to flying state, flying state to landing state, waiting state to flying state are all used transitions.
I made a tutorial showing you how to use the fire simulation cache and assigned to points. It can also be assigned to particle positions.
In Monarch case, I used 5 simulation cache and timeshift node to generate different fire simulation. This method requires pyro loop function when you're trying to create a start to end simulation.
Last Update: March 5, 2020
Software: Houdini 18
OS: Windows 10
Specs: GTX 1080ti, Intel 8700K, 128GB RAM