Extract controls skeleton from animated character.

   1977   5   2
User Avatar
Member
16 posts
Joined: 10月 2019
オフライン
Hi everyone !

I was wondering if it was possible to extract the controls skeleton of a character animated inside an APEX scene animate node ? As I can see now it can only extract it from the folder (therefore, without any animation).

For now, the node that works best is the SceneInvoke node. However, it doesn't import the controllers that are only 'transformObject' nodes in the APEX context and do not have a joint created on the skeleton; or import badly joints that had their parenting logic altered during the rigging process.
Edited by Debrumaire - 2025年5月31日 16:41:22
User Avatar
Member
8122 posts
Joined: 7月 2005
オフライン
Have you tried using the APEX Control Extract SOP [www.sidefx.com]? But I'm not sure what you're looking to do exactly.
User Avatar
Member
16 posts
Joined: 10月 2019
オフライン
Yes I've tried the Control Extract SOP

To be clearer, I try to extract the Controls from an animated character, but hoping that the controls skeleton is updated according to the animation.

But by using the controls extract node, I get the rest pos of the skel because it gets the skel inside the folder and not in the scene



Attachments:
extract_controls_animated_char_0.png (1.1 MB)
extract_controls_animated_char_1.png (1.1 MB)

User Avatar
スタッフ
502 posts
Joined: 4月 2014
オフライン
Give it a try with this scene.

You need to access the control_data output of the rig in order to extract the animated transform values.
I'm using a wrangle to get the xform output values of each TransformObject from the @parms dict detail attribute and stamp it to each point transform. If you inspect the geometry spreadsheet of the invoke_get_animated_control_parms node, you'll also notice you have access to the other output port values of the TransformObject nodes.
Edited by Guillaume - 2025年6月2日 10:28:49

Attachments:
control_extract_with_animation.hip (284.5 KB)
control_extract_with_animation.jpg (31.8 KB)

User Avatar
Member
16 posts
Joined: 10月 2019
オフライン
Works perfectly for me !! Thanks a lot for the control data tip in the scene invoke node !

Guillaume
Give it a try with this scene.

You need to access the control_data output of the rig in order to extract the animated transform values.
I'm using a wrangle to get the xform output values of each TransformObject from the @parms dict detail attribute and stamp it to each point transform. If you inspect the geometry spreadsheet of the invoke_get_animated_control_parms node, you'll also notice you have access to the other output port values of the TransformObject nodes.
Image Not Found
User Avatar
Member
4 posts
Joined: 2月 2017
オンライン
I managed to get this working with a later version of Houdini with the following changes:

The new scene invoke node still uses the path "/electra.char/Base.rig/control_data," but you must instead add a Extra Outputs item (+) and paste the path into Scene Output Path field (no key).

THEN, create an UnpackFolder node, and the extract pattern should be "/electra.char/Base_control_data" (this can also be selected using the arrow icon and Rig Tree panel)
This will expose the transform detail attribute needed in the attribute wrangle

Plug the UnpackFolder into the second input of the attribute wrangle and it works again.

You may also need to specify "electra" as trh Character in the SceneAddAnimation node.

Thank you SO MUCH Guillaume for this insight btw!
Edited by dandeentremont - 2026年3月28日 06:40:09
  • Quick Links