Trigger based on crowd state end

   3950   3   1
User Avatar
Member
245 posts
Joined: 9月 2011
Offline
Is it possible to procedurally call out when a current state has ended?
Because now I am defining when the state duration reaches a certain time, the agent will switch to another animation.

Or am I missing something?
User Avatar
Member
2625 posts
Joined: 6月 2008
Offline
You can get the clip length from the agent catalog. Then look at if you are in transition by examining the @crowdtransition attribute. If you are not in transition compare your @cliptime to the catalog length-@TimeInc. If the cliptime is near the catalog length then you are about to loop, which will reset cliptime.

This will effectively give you an extra event everytime a clip loops.

This is explained in detail in the Slug Fest Crowd Simulation training on cmiVFX. I think it is currently on sale so the training costs even less than the $59.99 list price.
https://cmivfx.com/store/658-houdini-crowd-slugfest [cmivfx.com]
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
245 posts
Joined: 9月 2011
Offline
Thanks I will try this when I get home, I will let you know what happens.

Also, do you happen to know if the Slug Fest Crowd Simulation training on cmiVFX also includes information about fuzzy logic?

Thanks for sharing this tutorial, somehow I was not aware of this one from Cmivfx I've got 60% off so I might buy this one when I get home..
User Avatar
Member
245 posts
Joined: 9月 2011
Offline
I was not able to find the agent catalog, but for some reason I was able to find a expression in the documentations for getting the length of clips:

f@statelen_1= agentcliplength(geoself(), 0, “idle_5”);

http://www.sidefx.com/docs/houdini15.0/vex/functions/agentcliplength [sidefx.com]


I was looking in the documentations for the agent catalog and for some reason I got to this page, so it kinda works, thanks!
  • Quick Links