Crowd Test with Prop Variations
Using Houdini 22.214.171.124. Using a loop, I was able to randomize 4 props attached to the wrist bone of each agent. The Masterclass by Cameron White provided a great example of using random hats assigned to each agent: vimeo.com/150917240 . The character is part of an animation by Michael Rhima.
1st iteration without variation: vimeo.com/172353403
I am interested in exploring techniques for applying a cloth simulation to crowds.
I have started a page showing my progress: forums.odforce.net/topic/26012-cloth-simulation-for-crowds/
Props: 4 (1 downward facing spear, 1 upward facing spear, 1 spear with more blades pointing to sky, and 1 shield)
Prop Materials: each prop has a separate material for variation
Randomization: by randomizing the current layer I was able to vary my props as well as agent variation
Problem 1: By default props are assigned to agents using the “Agent Layer” node within the
agent_setup. However, with this method there is no variation and every prop is assigned to every agent
Solution: Instead of using a “Agent Layer”; Inside the agent_setup, create a for each loop to randomize
props among agents. Add a 1 geo node (props) in the obj level containing prop_1, prop_2, prop_3,
prop_4 geo with materials assigned. Then inside the crowd source node, randomize current layer and
add a min and max value of 1 and 4 or however many props you would like.
Problem 2: Ncloth or other alembic cache .abc assets cannot work as a prop with Houdini crowds
Solution: Copy alembic files onto the crowd_sim import node. However, prop constraints and rotations
will not be present because alembic files are copied onto a single point at bottom center of agent.
Another potential alternative is:
Advanced: simulation on top of agents
If you want to create secondary simulation (for example, simulated clothing) on top of agent
geometry, currently you must unpack the agent geometry.
You can use VEX or Python functions to calculate the positions of agent body parts (for
example, if you want to generate particles flowing from the top of agent heads) from the
agent attributes. You can see an example of this in this example scene file:
Problem 3: Agents go through obstacles and ignore forces to prevent the agent to avoid the obstacle
Solution: Re-size your agent prior to baking to match the scale of the bipod 2 example rig provided with
Houdini. In my case, I resized my rig to 0.06 then all obstacle avoidance forces worked properly without
Problem 4: Agents feet go through ground
Solution: Increase subdivisions of ground so each agent will be visually touching top of ground and will
improve sim quality (slower sim time)
Problem 5: Agents will slide around static without using the mocap cycle
Solution: Make sure character before baking has similar scale of Biped 2 rig. Make sure Global
Animation Timeline is only set the maximum frame number of mocap cycle (28 frames). Then bake
agent. Prior to simulating crowd set the Animation Timeline to maximum sim time desired but this
number can be changed at any time but should be longer than 28 frames in my case.
Problem 6: Speed of agents is too slow or too fast or gate speed does not match agent speed.
Solution: In my case, I set the Min/Max speed of my agents to 4 inside the crowdsource. Then, inside the
crowd state, I set the Inplace gate speed to 4.