Search - User list
Full Version: Info on keyframe magic?
Root » Technical Discussion » Info on keyframe magic?
Rebus B
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
tamte
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
dedeks2999
The Doc is your friend :

http://www.sidefx.com/docs/houdini/hom/hou/bezier.html [www.sidefx.com]
Rebus B
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?
tamte
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]
jsmack
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.
Rebus B
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?
DASD
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.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB