Hi all
I've playing around with some human movement animations creating a kind of muybridge iterative echoing time effect.
I take the animation then duplicate it several times
then edit each copies keyframes altering there acceleration by degrees.
This works, but I was wondering if there was a way I could get more control
over the process by adding an expression into the Functions text box.
I'd like to be able to access the name of the node I'm editing with the opdigits
function and use that to effect the acceleration.
I've looked around but can't find many resources that give any examples
could anyone give me any pointers?
Thanks
John
Channel graph keyframe expressions
5663 6 1-
- HUGHSPEERS
- Member
- 86 posts
- Joined: Sept. 2008
- Offline
-
- edward
- Member
- 8083 posts
- Joined: July 2005
- Offline
-
- HUGHSPEERS
- Member
- 86 posts
- Joined: Sept. 2008
- Offline
Hi Edward
That multiplies all the values of the keyframes perfectly.
Each copy multiplies the keyframe by it's appended digit.
I was wondering whether you can alter the keyframes acceleration or slope
with an expression.
so that if a ball was moving between two points,
the expression would make each subsequent copy of the ball
accelerate from, then decelerate into the keyed positions,
with a greater degree of acceleration/deceleration.
A kind of stretching effect.
I've been doing this by hand but it's quite a drag when you have to do more than 50.
Is there a way to access these parts of the bezier expression?
Cheers
John
That multiplies all the values of the keyframes perfectly.
Each copy multiplies the keyframe by it's appended digit.
I was wondering whether you can alter the keyframes acceleration or slope
with an expression.
so that if a ball was moving between two points,
the expression would make each subsequent copy of the ball
accelerate from, then decelerate into the keyed positions,
with a greater degree of acceleration/deceleration.
A kind of stretching effect.
I've been doing this by hand but it's quite a drag when you have to do more than 50.
Is there a way to access these parts of the bezier expression?
Cheers
John
-
- edward
- Member
- 8083 posts
- Joined: July 2005
- Offline
The bezier() expression takes the values from the keyframes directly and there's no way to override that. You could try to come up with some crazy expression that directly uses those values via the local channel variables (see http://www.sidefx.com/docs/houdini10.0/expressions/_globals) [sidefx.com] but that's probably not a good approach. I would suggest you look into using CHOPs (channel nodes). You could probably do some small experiments using Motion Effects to get started (http://www.sidefx.com/docs/houdini10.0/network/motioneffects [sidefx.com]).
-
- HUGHSPEERS
- Member
- 86 posts
- Joined: Sept. 2008
- Offline
Hello Edward
Thanks for those tips
the crazy expressions you mentioned the local channel variables look like they reference the key-frames slopes and eases, they can't be used with the bezier expression in the functions text box, were you suggesting using them in a chops expression?
At the moment I'm importing motion data as a bclip then warping the movement to pause at certain points. The warps are controlled by a constant channel node which I'm keyframing, it's these keyframes slopes and accelerations that I'm attempting to alter with my bezier expressions.
Creating a different warp for each variance of the movement.
Echoing the same movement but with acceleration changes.
When key-framed data passes into the chops network it gets re-sampled doesn't it? or can you manipulate keyframes in there some how?
thanks again for your help
John
Thanks for those tips
the crazy expressions you mentioned the local channel variables look like they reference the key-frames slopes and eases, they can't be used with the bezier expression in the functions text box, were you suggesting using them in a chops expression?
At the moment I'm importing motion data as a bclip then warping the movement to pause at certain points. The warps are controlled by a constant channel node which I'm keyframing, it's these keyframes slopes and accelerations that I'm attempting to alter with my bezier expressions.
Creating a different warp for each variance of the movement.
Echoing the same movement but with acceleration changes.
When key-framed data passes into the chops network it gets re-sampled doesn't it? or can you manipulate keyframes in there some how?
thanks again for your help
John
-
- edward
- Member
- 8083 posts
- Joined: July 2005
- Offline
HUGHSPEERS
the crazy expressions you mentioned the local channel variables look like they reference the key-frames slopes and eases, they can't be used with the bezier expression in the functions text box, were you suggesting using them in a chops expression?
No, I mean to replicate the bezier() functionality from scratch using those local variables as a regular hscript expression.
When key-framed data passes into the chops network it gets re-sampled doesn't it?
Yes.
Since you're already in CHOPs and you're looking at manipulating accelerations, you can probably do that by miking use of the Slope and Area CHOPs.
-
- HUGHSPEERS
- Member
- 86 posts
- Joined: Sept. 2008
- Offline
Hi Edward
I managed to make use of the easep() function in the Function box,
it allowed me to write in the opdigits fuction in the brackets , then I multiplied that number by another channel reference to scale it.
Easep(opdigits(“.”)*ch(../constant2/value0"))
this allows me to control the acceleration of large groups of keyframes.
Cheers for your help Edward I'm now playing with the Slope and area nodes.
John
I managed to make use of the easep() function in the Function box,
it allowed me to write in the opdigits fuction in the brackets , then I multiplied that number by another channel reference to scale it.
Easep(opdigits(“.”)*ch(../constant2/value0"))
this allows me to control the acceleration of large groups of keyframes.
Cheers for your help Edward I'm now playing with the Slope and area nodes.
John
-
- Quick Links

