Houdini KineFX Sink

· Houdini MOC · Rigging ·

TOC

Character, Motion, Motion Clip

Typical character anim with motion clips animation setup

fbx character import
fbx animation import 1
fbx animation import 2
fbx animation import 3
motion clip 1
motion clip 2
motion clip 3
bone deform
motion clip sequence 1
motion clip sequence 2
motion clip cycle
motion clip evaluate
OUT Anim
OUT Rest

Rigging

Typical rigging

File (geo)
skeleton
OUT Geo Rest
OUT Sceleton Rest
rigpose
bone capture lines
tet conform
bone capture biharmonic
OUT Rest Bound
capture layer paint
bone deform
OUT

Troubleshooting

Bone names

Always check the rigged models you purchase for this issue!
Bones SHOULD NEVER contain path-like symbols like dots, slashes or colons in the names, APEX accepts these but in the end you wont be able to see the animation channels in the Anim Editor (despite other oddities). Sanitize the bone names, replace dots (or Mixamo bullshit)! To replace dots in the boneCapture names use Attribute String Edit with boneCapture.pCaptPath as the point attribute.

Use Attribute String Edit:
Points: boneCapture.pCaptPath
Use regular Expressions: ON
Filter From: [^0-9a-zA-Z\.]
Filter To: _

To remove Mixamo tag:
Points: boneCapture.pCaptPath
Filter From: mixamorig:*
Filter To: *

And a wrangle to rename the name and path attributes:

s@path = re_replace('[^0-9a-zA-Z]', '_', s@path);
s@name = re_replace('[^0-9a-zA-Z]', '_', s@name);

Bone scale

Fixing the fbx bone scales with point wrangle:

// simple
matrix3 m = 3@transform;
scale(m, {100, 100, 100});
3@transform = m;

// world space
matrix3 xform = 3@transform;
matrix3 rot;
matrix3 stretch;
polardecomp(xform, rot, stretch);
3@transform *= invert(stretch);