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

obj-image Masterclass
H19 Crowds
obj-image Masterclass
RBD Tools Update | H17 Masterclass
obj-image Masterclass
Masterclass | Crowds in Houdini 15.5
obj-image Masterclass
H15 Masterclass | Crowds

My Talks

obj-image HIVE
H20 Crowds | SOP-based Workflow
obj-image HIVE
Crowds

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:
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