PDA

View Full Version : How to reverse an animation?



vncnt
07-30-2012, 02:44 AM
I'm trying to reverse the animation of a rigged character using Scene Editor - Dope Sheet.

Expected that "Selection -> Numeric time scale" would accept -100% but it simply does nothing.

Too many bones and nulls involved so I'd really like to be able to reverse this block of 150 frames.

Any ideas?

SplineGod
07-30-2012, 03:18 AM
The simplest way is probably to MDscan the character. You can use Dponts mdd player node which allows you to use an envelope to control the playback speed of the animation and even reverse it.

erikals
07-30-2012, 04:58 AM
 
as far as i recall DPont's node can even blend mdd files...

don't know any other good way than mdd though...

but i think you don't need that node for this, you can use LW, and set the playback speed to -100
(maybe the option is just available under ClothFX / File, not sure...)

 

vncnt
07-30-2012, 05:12 AM
Forgot to mention:

- The 150 frames are copied from another part and both parts should be kept intact.
- I'd like to keep the keyframes for further modifications because a reverse animated character doesn't look exactly natural.
- The animation will be exported to Unity in fbx.

I'm really surprised it seems this is not in the standard toolset of Scene Editor.

erikals
07-30-2012, 05:40 AM
only thing i can think of atm is to bake the an mdd, reverse mdd, bake points...
hard to explain, even in a video...
http://youtu.be/0pvT4hCPVt8

erikals
07-30-2012, 05:43 AM
not sure if "Invert Keys" is of use

vncnt
07-30-2012, 06:31 AM
only thing i can think of atm is to bake the an mdd, reverse mdd, bake points...
hard to explain, even in a video...
http://youtu.be/0pvT4hCPVt8

I'm afraid that will create too many keyframes - makes it difficult to modify the animation.
In that case I can better reverse most keyframes manually.

vncnt
07-30-2012, 06:54 AM
Fogbugzed it as a bug: 48452

SplineGod
07-30-2012, 07:32 AM
You might be able to use motion mixer to reverse the animation

vncnt
07-30-2012, 08:45 AM
You might be able to use motion mixer to reverse the animation

Wouldn't that make the keyframes disappear?

nikfaulkner
07-30-2012, 08:52 AM
i seem to remember using the classic scene editor, scale by -100%......i could be wrong though

daforum
07-30-2012, 10:33 AM
not sure if "Invert Keys" is of use

As erikals said use Invert keys, it's in the Graph editor.

All you have to do is select all the keys (bones, nulls etc)
select "Keys" then "Invert Selected Keys"
All your keys will be reversed and so will your animation (leaving your keyframes available to be edited if needs be)

jeric_synergy
07-30-2012, 11:12 AM
Let us know how this works out: it's one of those "but SURELY!!!" situations.

I surely would have expected "Scale Scene" to work.

+++++
UGH, just tried it and not only does it not work, it throws up an error msg,

"Time scale factor must be greater than zero."

Which means they went OUT OF THEIR WAY to make it impossible. GRRRRRRRR!!! :devil: :devil: :devil:

(Of course, this was probably coded in 1999, so no one currently at NewTek is responsible for this travesty. :D )

This is why I like LightWave's usual LACK of limit checking: sometimes you just WANT that light to illuminate at -200%. :thumbsup:

The good news is INVERT KEYS seems to work, although you'll definitely want to make a Favorite Set to select ALL the items.

RudySchneider
07-30-2012, 06:27 PM
I had a similar desire some time ago. And since I generally render out individual frames, I simply wrote a DOS-type utility that allowed me to select the START and END frames of the sequence I wanted to reverse, and then REVSTART, the frame number where I wanted the reverse sequence to begin. The utility simply copied the specified frames in reverse order to the new sequence. That way, I didn't have to re-render.

Of course, this is useless if you want to alter the camera location during the reverse sequence as well.

jeric_synergy
07-30-2012, 06:46 PM
I think the OP is more interested in something like reversing a walk-cycle, rather than frames per se.

geo_n
07-30-2012, 10:06 PM
grpahic editor works fine but I requested before to have it in scene editor and the timeline via dragging endpoints like 3dmax. Might not be easy to do just like undos everywhere.

vncnt
07-31-2012, 12:39 AM
I think the OP is more interested in something like reversing a walk-cycle, rather than frames per se.

Correct. Itīs exported to Unity.

The character sits down, fasten seatbelts and places hands under legs.
This is exported to fbx /Unity and these 3 phases are played back in sequence, reverse or combinations, controlled by a JS script.

Reversing the sit down part looks slightly funny so Iīd rather see a copy of that time range - reversed and then modified.

Iīll try the classic SE and the Graph Editor solution tomorrow.


BTW just reviewed my list of Fogbugz reports. Seems that many reports are closed because errors could not be reproduced. I can imagine this leads to a reduced desire to report errors at all.

Just my personal opinion: whenever Iīm in "developer mode" (writing JS and C# scripts in Unity) I assume where smoke thereīs fire. Bug reports must be taken serously. If errors canīt be reproduced I then search a little deeper! That will take some effort.

When I take the time to write & send a bug report thatīs because it can be reproduced over here. Closing a bug report this way creates no confidence.
A closed bug report means to me: complaint and info will not reach a developer.
Sometimes even worse: the error get fixed but returns in a new upgrade.

Is it my task as a long time user to find evidence to convince the developer team that something is wrong and to perform QCīs for every new build?


Donīt want to sound too negative but I wanted to share this frustration.
This goes so very much against my nature.

Letīs see how this one is handled.

vncnt
07-31-2012, 10:52 AM
Your were right.
Fortunately, Invert Selected Keys in Graph Editor works.

For some reason the selection of all involved Bones and Objects takes a lot of time so I still prefer a solution for the Dope Sheet.

jeric_synergy
07-31-2012, 11:02 AM
Y...... takes a lot of time so I still prefer a solution for the Dope Sheet.
Hence my suggestion to create a Favorite Set as soon as you get it all lined up.

Is it my imagination or does the Dope Sheet not display a keyframe on it's "Last Frame" range?

vncnt
07-31-2012, 01:21 PM
Hence my suggestion to create a Favorite Set as soon as you get it all lined up.
Didnīt know this influenced the speed.


Is it my imagination or does the Dope Sheet not display a keyframe on it's "Last Frame" range?
I always use max frame + 1

jeric_synergy
07-31-2012, 01:50 PM
I always use max frame + 1
IMO, that's a bug. Or a frackin' stupid design limitation, either way.

AE, I note, manages to display keyframes at the end of its range. feh.

SplineGod
07-31-2012, 05:48 PM
I think you can mass select the bones etc in the dopesheet and then open the GE from the dopesheet all the relevant channels should now be there in the GE in the channel bin all at once. You should be able to multiselect those channels and reverse them.

Greenlaw
08-01-2012, 11:30 AM
Anybody try Timewarp? It's been a while since I used it but I recall that it allows you to manipulate all keys in a scene with a single envelope. If it still works, you should be able to reverse the frame sequence of the entire scene through the envelope. I seem to remember a separate timeline in the interface to check out the 'warp' effect before rendering. Look for Timewarp under Motion Modifiers for the current camera.

Hope this helps.

G.

vncnt
08-02-2012, 01:51 AM
Anybody try Timewarp?

That's one of the features that I'd like to use some time.
In this case I have to modify keyframes after reversing the keyframe set of each selected object/bone. I'll try that but I don't know if it's convenient.

Would love to see "Blocks" tools for LW, just like in the Propellerhead Reason 6 music editor. Kind of non-destructive tool to move/stretch/crop keyframe ranges for multiple objects/bones.

BTW my Fogbugz report turned out to be a feature request as the method in Graph Editor works.


I think you can mass select the bones etc in the dopesheet and then open the GE from the dopesheet all the relevant channels should now be there in the GE in the channel bin all at once. You should be able to multiselect those channels and reverse them.

Opening the Graph Editor with multiple objects/bones is no problem.
The real problem is when block selecting all channels on the left side: the computer is locked for a long time on my 64bit i7. Slightly faster on my 32bit dual Xeon but still painful to work with.

jeric_synergy
08-02-2012, 01:56 AM
BTW my Fogbugz report turned out to be a feature request as the method in Graph Editor works.
I think the fastest thing would be for NewTek to remove the limitation on the simple SCALE KEYS in the OSE. Let the user use negative keys. Sheesh.

Opening the Graph Editor with multiple objects/bones is no problem.
The real problem is when block selecting all channels on the left side: the computer is locked for a long time on my 64bit i7. Slightly faster on my 32bit dual Xeon but still a bit painful to work with.
Wasn't I just saying yesterday that NewTek's test scenes are too simple? They need test scenes that will slow the machines down, so they can see what's what in the production world, and adjust those algorithms that work great for up to fifty items, sure, but start failing badly at >200 (or whatever, y'know?).

3DGFXStudios
08-02-2012, 03:32 AM
Have you tried motion mixer?

daforum
08-02-2012, 06:23 AM
Anybody try Timewarp? It's been a while since I used it but I recall that it allows you to manipulate all keys in a scene with a single envelope. If it still works, you should be able to reverse the frame sequence of the entire scene through the envelope. I seem to remember a separate timeline in the interface to check out the 'warp' effect before rendering. Look for Timewarp under Motion Modifiers for the current camera.

Hope this helps.

G.

Timewarp sounds interesting. Are there any tutorials about this?
I hadn't heard of it before you posted about it Greenlaw.

SplineGod
08-02-2012, 06:30 AM
Last time I tried using it I got flakey results. At the time it seemed to only work with the classic camera. I dont know if its been updated since then or not. I dont think it will effect your animation keys. I would take a look at motion mixer.

daforum
08-02-2012, 06:39 AM
Thanks SplineGod. I didn't know about using it only with the classic camera :)
I did get a bit of info from reading various stuff online, and sort of understand what it was made for, but I'm curious how to use it to reverse the animation.

It would be good to see it in action, especially as it would make the process of reversing the animation a "bit" simpler.

SplineGod
08-02-2012, 06:51 AM
I tried using it to do freeze or bullet time effect. It sort of worked but it had issue. When I reported it way back when I was told by one of the developers that it was an "evil hack" and I should avoid it. :) Maybe its been updated since then. It was a rendering trick and didnt actually change any keyframe on the character animation.

Greenlaw
08-02-2012, 10:43 AM
...I'm curious how to use it to reverse the animation.
It allows you to envelope an entire scene by defining when you want a certain frame to play. It's meant for speeding up and slowing down a scene, ala 'Bullet time' FX. I have to admit it's been a very long time since I played with it and I'm not sure what happens when you reverse the frame sequence--the way you would timewarp a frame sequence or video in an editor or compositing program. It just occurred to me that it might possibly work the same way for a 3D scene (assuming the Timewarp plug-in still works.) Note that, from what I remember Timewarp requires actual keyframes, so it won't work with particles and probably not with .mdd (unless, maybe you used a keyframed envelope on the .mdd--but probably not. In fact, I'm almost certain this won't work.) I didn't know about the Classic camera restriction but I guess that makes sense...it's a pretty old plug-in and I don't recall Newtek updating it in years.

Sorry, it was just an idea.

G.

jeric_synergy
08-02-2012, 11:15 AM
Huh. I thought it was just sorta like "Time Remapping" for the LW renderer.

clickaclickaclicka Part of the lameness appears immediately: the channel in GE is named "FRAMEWARP", sure sign of a crap design ethic.

Greenlaw
08-02-2012, 02:54 PM
I don't think so, after all it is a motion modifier and not an image processor. It has additional options for how to handle motion blur so I think it's doing a bit more than just re-sorting a frame rendering sequence. I might be wrong though.

I just took a quick look. FYI, it has options to Warp Camera and Warp Blur. The first allows you to include the camera in the time remapping or not (Bullet Time,) so it is actually altering keyframes and doing more than just changing the render sequence.

Hope this clarifies what it does. Sorry, I don't have any more useful info because because it's been severals years since I last opened this tool.

G.

jeric_synergy
08-02-2012, 03:12 PM
I couldn't make heads nor tails of the interface. It would be cool if it rendered 3D motion blur, like a curving trail thru space.

Considering the lack of posts about it, I'm thinking not many used this tool.

Greenlaw
08-02-2012, 06:02 PM
I couldn't make heads nor tails of the interface...
It's pretty simple really--what you see is a global envelope that allows you to temporally remap the original animation. The values represent the original frame numbers and you can move them wherever you want on the TimeWarp timeline. For example, to reverse a scene animation, if you have a 120 frame sequence, you make the first frame 120 and the last frame 1. Click Preview and it plays backwards.

At least, that's how it's supposed to work. If I can find time I'll check on it. If it doesn't work now, it probably should be fogbugz-ed.

As for lack of posts, I think most users who need the 'Bullet Time' effect will just animate it that way, or otherwise render the sequence normally and just Twixtor it like you would a live action sequence. TimeWarp was supposed to allow you to render this kind of effect 'properly' using a scene that was animated in 'normal' speed.

G.

jeric_synergy
08-02-2012, 06:29 PM
Looking at the envelope TimeWarp generated automatically, it seems much like AE TimeRemapping, but taking into account LW scene info, like backwards motion blur.

OTOH, isn't the user essentially working 'blind'-- you don't get to SEE what the envelope's result is until after rendering, correct??

Greenlaw
08-02-2012, 11:15 PM
That's what the Preview button is supposed to do.

Greenlaw
08-02-2012, 11:24 PM
If anybody gets a chance to try TimeWarp let me know how it goes. I really don't think I'm going to be able to try it myself anytime soon but I'm curious about this.

G.

daforum
08-03-2012, 04:51 AM
It allows you to envelope an entire scene by defining when you want a certain frame to play. It's meant for speeding up and slowing down a scene, ala 'Bullet time' FX. I have to admit it's been a very long time since I played with it and I'm not sure what happens when you reverse the frame sequence--the way you would timewarp a frame sequence or video in an editor or compositing program. It just occurred to me that it might possibly work the same way for a 3D scene (assuming the Timewarp plug-in still works.) Note that, from what I remember Timewarp requires actual keyframes, so it won't work with particles and probably not with .mdd (unless, maybe you used a keyframed envelope on the .mdd--but probably not. In fact, I'm almost certain this won't work.) I didn't know about the Classic camera restriction but I guess that makes sense...it's a pretty old plug-in and I don't recall Newtek updating it in years.

Sorry, it was just an idea.

G.

No problem Greenlaw :)

Hope to get a chance to try it and see how it works.

Ryan Roye
08-03-2012, 11:38 PM
If anybody gets a chance to try TimeWarp let me know how it goes. I really don't think I'm going to be able to try it myself anytime soon but I'm curious about this.

G.

My attempts to use timewarp a while back only gave me headaches. I just re-time animation with stretch/snap keys, and reverse animation utilizing the various methods already mentioned here. I did try using stretch/snap keys to reverse frames, but the start frame has to be lower than the end frame. Darn!

jeric_synergy
08-04-2012, 01:16 AM
I had need to use "invert keys" today, and that did not work. Now I can't remember why I thought it would....

Greenlaw
08-04-2012, 09:03 AM
Invert keys flips values at a given frame, it does not move the original value to another frame (to reverse time for example.)

jeric_synergy
08-04-2012, 09:10 AM
Just like it says on the tin.

erikals
08-04-2012, 06:00 PM
so, should this be a feature request...?

geo_n
08-04-2012, 11:01 PM
I had need to use "invert keys" today, and that did not work. Now I can't remember why I thought it would....

did not work in what situation?

ericsmith
08-05-2012, 10:48 AM
Just for the record, since people seem so interested in this topic, I'll mention that scaling keys in the Maestro keyframe editor will allow you to scale to negative values, thus reversing the animation.

Eric

erikals
08-05-2012, 11:15 AM
 
heeey! nice http://erikalstad.com/backup/misc.php_files/king.gif
i have Maestro! (http://www.stillwaterpictures.com/maestro/) http://erikalstad.com/backup/misc.php_files/lwicon.gif

 

geo_n
08-05-2012, 11:26 AM
Just for the record, since people seem so interested in this topic, I'll mention that scaling keys in the Maestro keyframe editor will allow you to scale to negative values, thus reversing the animation.

Eric

Always wondered, is there a mirror pose, motions in maestro? If not how do you do it?
I'm using TAposetools but if there's a tool with maestro.

erikals
08-05-2012, 12:48 PM
no, not afaik... just manually...

ericsmith
08-05-2012, 02:31 PM
Always wondered, is there a mirror pose, motions in maestro? If not how do you do it?
I'm using TAposetools but if there's a tool with maestro.

No, we looked into the idea, but I couldn't figure out an elegant way for the macro executer to know how the user may want to mirror the elements being requested. Do you mirror position, rotation, both? At the end of the day, there were just too many unanswered logistical questions, and frankly, it was a feature that I wasn't all that interested in using, so it never happened.

Eric

geo_n
08-05-2012, 09:20 PM
Do you mirror position, rotation, both?

I think that would be both since a character rigged in maestro has pos, rot controls. Selecting a few hotspots then copy, select opposite hotspot then paste. Its a very common routine for blocking out. So I take it walk cycles are done by eyeballing in your case?

geo_n
08-05-2012, 10:20 PM
Btw I just tried the scale function in maestro to reverse animation. This is exactly how its done in 3dmax in either scene editor, dope sheet, timeline. The keys can be stretched in real time. Really neat! This is something really needed in lw. The ge invert keys work but its better to have it in other areas and realtime dragging.
Regarding the mirror pose/animation, since maestro already has pose/motion save, wouldn't it be easy to implement something that does a negative value pos,rot replace to poses/motion on selected items? This is probably what Tim Albees lscript is doing.

vncnt
08-07-2012, 05:16 AM
The ge invert keys work but its better to have it in other areas and realtime dragging.

+ Undo

or some other type of non-destructive stretching.

ericsmith
08-07-2012, 08:32 PM
So I take it walk cycles are done by eyeballing in your case?


Yeah, pretty much. The thing is, I don't do game animation. All of my animation work is narrative. So I don't think in terms of cycles, but rather I animate the character to the scene. For primary characters, I don't want cycled animation, and if I just want to bang out background characters, the walk generator does it much quicker than copying/pasting/mirroring poses.

Eric

vncnt
02-01-2013, 11:19 PM
Just tested in 11.5: no negative time stretching.

vncnt
04-21-2013, 11:05 PM
When entering -50% the sign is ignored and 50% is used instead.

vncnt
07-01-2015, 10:12 AM
This is an old thread but I think it's not a bad idea to add this link to this discussion: http://forums.newtek.com/showthread.php?136828-How-to-change-a-rig-in-45-scene-files&p=1435665&highlight=#post1435665

Reversing animations in Legato is simple and easy:

1 - [Layout:] select the top item of your character (or any other hierarchy of items/bones)
2 - [Legato:] select a frame range
3a - [Legato:] press 'x' button on the keyboard
3b - [Legato:] or RMB-drag the left and/or right side frame range selector in time

That's all.
Another method is to apply a motion from the library into a reversed frame range selection:

1 - [Legato:] select a ('R' upper or 'r' lower) region from the Library listbox, either from INT internal source or EXT external LWS file.
2 - [Layout:] select the top item of your target character (or any other target hierarchy of items/bones).
3 - [Legato:] select a negative frame range (from right to left)
4 - [Legato:] press 'T' button on the keyboard to start Transfer function.

Legato might need RetargetRelation data to redirect translation data to the right items.

... or [Legato:] you just select a source frame range, press 'C' to copy, select a negative frame range, and then press 'V' to paste all keys in that hierarchy into the negative target frame range.

You can see Legato in action on Vimeo.
It's still non-commercial.