This setup is a cute example of building your own custom Packed Agents from scratch!
Agent Setup
The agent is created in /obj/frog_agent directly from /obj/frog_rig, hopefully most of this is self explanatory (or covered in the docs):
I also override the physics mesh by setting up a custom agent collision layer which is a tad more accurate than the default shrinkwrap method.
Crowd Setup
The stream is split into two here – simulated ‘fallen’ frogs and animated jumping frogs.
Simulated Frogs
To quickly place the fallen over frogs I use the multisolver approach of combining a crowd solver and an rbd solver, I didn’t bother animating these guys at all but it might have been a nice detail to add
Clip Based Frogs
For the jumping frogs I’m lucky that the frog only has a single jump animation, I can get away with relying entirely on crowdsource to play the clip for me (with a random offset):
SOP based crowd workflows often provide the most control and I use them whenever I can! For more complex use cases you should dive into the crowd vex functions and start building your own crowd tools directly in SOPs:
- SideFX Agent Primitives Docs (Check the Vex Functions tab)
- SideFX setagentcliptimes Docs
- Mikael Pettersen’s great Houdini crowd tutorials!
Scene File
Download the scene file from my patreon: