Info on keyframe magic?

   2566   7   2
User Avatar
Member
80 posts
Joined: June 2013
Offline
Looking for details on how the magic “bezier()” function works when key framing such as where is the key frame data stored and how is the channel to parameter association defined? Can it be examined and edited or animated.

Specifically looking to convert previously key framed animation into the same motion controlled by a master parameter (so that one control can be used to wire multiple animation) like a driven key frame behavior. But also just curious on how it generally works under the hood.

Thanks! Rb
Edited by Rebus B - Jan. 19, 2018 14:12:01
User Avatar
Member
8545 posts
Joined: July 2007
Online
Rebus B
…Specifically looking to convert previously key framed animation into the same motion controlled by a master parameter (so that one control can be used to wire multiple animation) like a driven key frame behavior. …
you can use chf() or cht() expressions to evaluate channel at different frame or time for similar control
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
85 posts
Joined: May 2011
Offline
The Doc is your friend :

http://www.sidefx.com/docs/houdini/hom/hou/bezier.html [www.sidefx.com]
— dedeks 3000 —
User Avatar
Member
80 posts
Joined: June 2013
Offline
Yes… saw that doc but it doesn't really get what I am looking for. It does help direct the question though, since the bezier() just interpolates between last and next key frame:

Where does the key frame data that the bezier (or hou.bezier) function interpolates live? Is it accessible data stored in a node like other operators?

With other operators you can see the data flow by the wires or by following parameter references, but not with the bezier() key frame relationship. Are key frames only accessible via the Animation Editor window or is there another level to the network nodes that shows key frames as data?

The chf() and cht() look very interesting. It is starting to feel like key frame values are somehow included in a nodes parameter data?
Edited by Rebus B - Jan. 19, 2018 18:00:36
User Avatar
Member
8545 posts
Joined: July 2007
Online
Rebus B
Where does the key frame data that the bezier (or hou.bezier) function interpolates live? Is it accessible data stored in a node like other operators?
I'm afraid just animation editor, Hscript and Python

http://www.sidefx.com/docs/houdini/commands/chkeyls.html [www.sidefx.com]
http://www.sidefx.com/docs/houdini/commands/chkeyget.html [www.sidefx.com]


http://www.sidefx.com/docs/houdini/hom/hou/Parm.html [www.sidefx.com]
http://www.sidefx.com/docs/houdini/hom/hou/Keyframe.html [www.sidefx.com]
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
7762 posts
Joined: Sept. 2011
Online
The animation editor can show the keyframe data in dopesheet and spread sheet form, if you want to see the keyframes presented in a list.

You can also print out a node “as code” using hscript to see the commands used internally to create the keyframe data.

There is no ‘additional layer’ to animation data, as there aren't any additional layers to be had, you can think of it as living inside the parameter value box on the node it belongs to.
User Avatar
Member
80 posts
Joined: June 2013
Offline
Thanks for the perfect info! Makes another part of Houdini clear for this long time Maya user.

With Maya keyframe curves are another node type that wire into the parameters of any animated nodes. So it seems Maya tells the global time node which tells all the anim curves which tell all the animated parameters they have changed. Houdini, animated nodes ask the bezier() function for new values when the time changes.

That left me wondering how to treat keyframes in a procedural way in Houdini, then realized that is what CHOPs are for! So are CHOPs where one would set up a driven key or time warp like setup?
Edited by Rebus B - Jan. 21, 2018 12:39:13
User Avatar
Member
453 posts
Joined: Feb. 2013
Offline
Parameters are usually scriptable. You can use expression language or Python.
You can also do all kinds of math operations in CHOPS.

So basically you can do any keying + logic in any way you want.
  • Quick Links