Cameron White
cwhite
About Me
EXPERTISE
Developer
Connect
LOCATION
Canada
WEBSITE
Houdini Skills
Availability
Not Specified
My Badges
SideFX Staff
Since Oct 2012
My Tutorials
Recent Forum Posts
Crowds - Initial State based on Joint Posititon Oct. 8, 2025, 4:51 p.m.
The point position and overall transform of an agent is always the agent's root transform, so I think the easiest approach here is to move the point so that other joint is positioned where you want.
After spawning the agents, you can read the transform of the relevant joint, and then use that to adjust P however you want
e.g. to get started:
After spawning the agents, you can read the transform of the relevant joint, and then use that to adjust P however you want
e.g. to get started:
string joint_name = "your_joint_name"; int joint_idx = agentrigfind(0, @primnum, joint_name); matrix joint_xform = agentworldtransform(0, @primnum, joint_idx); // Or, to get the joint transform in world space, rather than relative to the agent's transform: matrix agent_prim_xform = primintrinsic(0, "packedfulltransform", @primnum); matrix joint_xform_world = joint_xform * agent_prim_xform;
Create Asset Primvars from SOPs Sept. 4, 2025, 12:34 p.m.
There is a new SOP Import parameter to configure this in tomorrow's build, 21.0.464
Crowds - Reading Single Joint Info inside DOPs Sept. 4, 2025, 10:02 a.m.
The multiplication should be in the opposite order (`Mw * M_agent`), but otherwise that looks reasonable to me