Saving and loading keyframe animation

   10443   9   3
User Avatar
Member
11 posts
Joined: Feb. 2014
Offline
Hi,

I recently converted to Houdini, coming from Maya/XSI land.

The one thing I miss dearly is XSI's ability to save out an action clip that you can then re-apply on another character (building a general animation library of walk cycles etc.)

At the moment the only way I found of storing keyframes is by right clicking the timeline and to “store a clip” (I think there is a pose option too) which creates a CHOPS network with a channel node inside that carries x amount of channels with all the different animation parameters from the rig where I saved it from.

Re-applying it to another rig with the same control names is as easy as changing the top level object's name in the channel path address from say robot1/left_arm_control to robot2/left_arm_ctrl - problem is, I have to do this for every single control by hand… ouch.

Does anyone know of a better way to do this kind of animation saving and transfer business; Importing animation and exporting animation to disk for later use or between shots in production?

Thanks in advance.
User Avatar
Staff
3462 posts
Joined: July 2005
Offline
you can write out animation to a cmd file by using opscript
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
136 posts
Joined: Jan. 2014
Offline
mwessels
Hi,

I recently converted to Houdini, coming from Maya/XSI land.
The one thing I miss dearly is XSI's ability to save out an action clip that you can then re-apply on another character (building a general animation library of walk cycles etc.)At the moment the only way I found of storing keyframes is by right clicking the timeline and to “store a clip” (I think there is a pose option too) which creates a CHOPS network with a channel node inside that carries x amount of channels with all the different animation parameters from the rig where I saved it from.Re-applying it to another rig with the same control names is as easy as changing the top level object's name in the channel path address from say robot1/left_arm_control to robot2/left_arm_ctrl - problem is, I have to do this for every single control by hand… ouch.Does anyone know of a better way to do this kind of animation saving and transfer business; Importing animation and exporting animation to disk for later use or between shots in production?

Thanks in advance.

Hi,
Motion transfer between two bone rigs is done very easy. Check the attached file, you don't need to change anything manually, it's all automated….. You can also store your clips into Pose library(it can store poses but also animations, so pay attention to help files) and using the technique i show apply to any rig(or even portion of the rig!!!). You just need to check the help files on how to create clips. It's much more powerful then XSI, it's fully procedural. Hope this get's you started…..
C

Attachments:
transfer-miscare-cu-chops_191.hipnc (114.5 KB)

User Avatar
Member
11 posts
Joined: Feb. 2014
Offline
Thank you Constantin X and arctor! I appreciate it. I'm constantly in the help file I probably just missed it. I get the idea Houdini is not exactly popular for its character animation side, transferring/saving animation is not obvious in the help file if you don't know to look for “motion effects”.

It is definitely not geared toward less technical minded character animators. But with python and the interface that is in QT now I'm sure people can start making sweet animator friendly tools for production.

Looking forward to exploring it.

Cheers.

-edit: Checked it out, it's actually pretty straight forward (once someone points it out), very cool and super easy. When the student is ready the master will appear
User Avatar
Member
11 posts
Joined: Feb. 2014
Offline
Here is a continuation of this topic that might be useful for anyone else who have been wondering about handling keyframe data resulting from a CHOP network.

https://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=37887 [sidefx.com]
User Avatar
Member
183 posts
Joined: Nov. 2008
Offline
Transferring keyframe animation is very easy, but requires you to write a little bit of python.
Basically you need to loop over your parameters, and if it has a keyframe, call hou.Parm.asCode() on it.

http://www.sidefx.com/docs/houdini13.0/hom/hou/Parm#asCode [sidefx.com]

You can write more sophisticated import/export logic with this function, as it provide you a couple of handful arguments (such as function_name argument)
Aleksei Rusev
Sr. Graphics Tools Engineer @ Nvidia
User Avatar
Member
11 posts
Joined: Feb. 2014
Offline
Stalkerx777
Transferring keyframe animation is very easy, but requires you to write a little bit of python.
Basically you need to loop over your parameters, and if it has a keyframe, call hou.Parm.asCode() on it.

http://www.sidefx.com/docs/houdini13.0/hom/hou/Parm#asCode [sidefx.com]

You can write more sophisticated import/export logic with this function, as it provide you a couple of handful arguments (such as function_name argument)

Thank you. It seems that writing a script to do the job is the only way. Small price to pay to be able to stay in Houdini.
User Avatar
Member
7871 posts
Joined: July 2005
Online
There are also the chwrite and chread hscript commands.
User Avatar
Member
122 posts
Joined: Aug. 2013
Offline
Constantin X
mwessels
Hi,

I recently converted to Houdini, coming from Maya/XSI land.
The one thing I miss dearly is XSI's ability to save out an action clip that you can then re-apply on another character (building a general animation library of walk cycles etc.)At the moment the only way I found of storing keyframes is by right clicking the timeline and to “store a clip” (I think there is a pose option too) which creates a CHOPS network with a channel node inside that carries x amount of channels with all the different animation parameters from the rig where I saved it from.Re-applying it to another rig with the same control names is as easy as changing the top level object's name in the channel path address from say robot1/left_arm_control to robot2/left_arm_ctrl - problem is, I have to do this for every single control by hand… ouch.Does anyone know of a better way to do this kind of animation saving and transfer business; Importing animation and exporting animation to disk for later use or between shots in production?

Thanks in advance.

Hi,
Motion transfer between two bone rigs is done very easy. Check the attached file, you don't need to change anything manually, it's all automated….. You can also store your clips into Pose library(it can store poses but also animations, so pay attention to help files) and using the technique i show apply to any rig(or even portion of the rig!!!). You just need to check the help files on how to create clips. It's much more powerful then XSI, it's fully procedural. Hope this get's you started…..
C
HI! WHERE is that help? please.
User Avatar
Member
2 posts
Joined: Oct. 2010
Offline
Hi there,

I have developed a tool for saving & loading parameter keyframes with cache functionality in year 2022 .
Check it out here on Orbolt.com :
https://www.orbolt.com/asset/kevfx::kevfx_keyframe_cache

BTW, it is Free for apprentice users.

Best Regards,
Kevin
  • Quick Links