i have an animated character and i would like to remap the speed of his motion to give him a little bit more varied and exaggerated movement. so the two options i see at hand are to manually squash/stretch/move keys in the dopesheet or use a spare channel along with chops to have a curve adjust the speed of my animated channels..
since my experience with doing this in the past is limited, i am wondering what people's thoughts are on the two methods.. have any of you drudged through this before and do you have a preference (chops or by hand)? which has more control in your opinion? what's good as far as ease of use/intuitiveness and how quickly changes can be remade? also, if you prefer the chop/curve method, do you prefer doing it based on rate or index? i'm used to the index style from different NLE's time-remapping functions for video footage and such.. but i'm wondering if the rate method is a better one…? just any thoughts or comments any of you would think to be appropriate would really be great..
now on to more concrete questions:
1. The help browser mentions of chops demo's in $HD/CHOPS.. i have no CHOPS dir in my demo folder… is this stuff old and not there anymore? is it new and possibly supposed to be in H8? either way, that timing1.hip sparked my interest from the help browser and i can't seem to find it anywhere.
2. Besides using the warp chop, i considered bringing in my position data of the character's channels, run it through a slope chop to get it's velocity, use a math chop as a multiplier between the velocity and my fetched “speed” channel, and finally use the area chop to get back to positional data to export back to the character. first, is there any point in doing that method? second, is that exactly what the warp chop is doing anyways? and third, if you take the slope (derivative) of a channel and then immediately take the area (integral) of it, shouldn't you have the original curve you started with? high school math seems to remind me that's what should be happening, but it's not that way in chops. if i run a channel through a slope chop and then area chop (both set to first order), i get a different result than the original curve.. why is this?
any help, as always, is appreciated.
thanks everyone,
dave
time remapping
6027 2 0-
- deecue
- Member
- 412 posts
- Joined: July 2005
- Offline
-
- malexander
- Staff
- 5285 posts
- Joined: July 2005
- Offline
2. Besides using the warp chop, i considered bringing in my position data of the character's channels, run it through a slope chop to get it's velocity, use a math chop as a multiplier between the velocity and my fetched “speed” channel, and finally use the area chop to get back to positional data to export back to the character. first, is there any point in doing that method?
The problem you will have there is restoring the initial positions of the channel. When you take the derivative of something (or slope) you lose the positional context that the channel was in. If you take the area of it again immediately, you'll notice that all the channels begin at zero. This is because the value of the initial sample is lost (remember the “integral of blah is blah, plus a constant”? - that constant is the initial value).
So, you'd need to add that constant back in, for each channel. This isn't too hard to do… take a trim CHOP and keep only the first sample of the original curve. Now, after you've re-integrated the curve via Area, use a Math CHOP to add the initial value sample back into the curves.
second, is that exactly what the warp chop is doing anyways?
In index mode, it is sampling the channel to warp at the indices you specify in the warp channel, at a sub-frame level, for each frame of the warp channel. The result is as long as the warp channel, not the channel to warp. In Rate mode, it merely integrates the rate curve first (adding the start frame of the channel to warp as a constant).
So, this might be an easier solution that doing the Slope->Math->Area solution. Your speed channel just feeds into the Warp in Rate mode. You can use a Math CHOP to get it into the appropriate range (1 = normal speed, 0 = stopped, -1 = backwards at normal speed). So, a constant channel of 1 will playback at normal speed.
The advantage of index mode, though, is that you can more easily scale your warp curve so that it begins at zero and ends at the last frame in your animation. With a rate curve, this can be trickier (but again, it just requires a scale while looking at the end result).
You can also use the Lag CHOP to add a bit of lag and/or overcompensation to the char's movement. However, whatever CHOPs you use, you'll still likely be fiddling with channels getting your character to look natural.
-
- deecue
- Member
- 412 posts
- Joined: July 2005
- Offline
The problem you will have there is restoring the initial positions of the channel. When you take the derivative of something (or slope) you lose the positional context that the channel was in. If you take the area of it again immediately, you'll notice that all the channels begin at zero. This is because the value of the initial sample is lost (remember the “integral of blah is blah, plus a constant”? - that constant is the initial value).
So, you'd need to add that constant back in, for each channel. This isn't too hard to do… take a trim CHOP and keep only the first sample of the original curve. Now, after you've re-integrated the curve via Area, use a Math CHOP to add the initial value sample back into the curves.
ah yes… this makes complete sense.. and the trim chop solution sounds perfect for it..
You can also use the Lag CHOP to add a bit of lag and/or overcompensation to the char's movement. However, whatever CHOPs you use, you'll still likely be fiddling with channels getting your character to look natural.
good point.. i feel like i knew that already and was just hoping someone would come on and pat my butt saying ‘it’ll be alright.. don't worry about all those keyframes.. the chops god will take care of everything".. :wink: but as you said, it will take some manual finessing either way..
thanks a bunch for the help and explanations..
Dave Quirus
-
- Quick Links

