Community
Maya Animation and Rigging
Welcome to Autodesk’s Maya Forums. Share your knowledge, ask questions, and explore popular Maya animation topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Time Editor: Edit Source Animation in Timeslider

6 REPLIES 6
Reply
Message 1 of 7
Kevinmalluc
1111 Views, 6 Replies

Time Editor: Edit Source Animation in Timeslider

Hey all. I'm absolutely loving the new Time Editor as a robust replacement to the Trax Editor, but there's one thing the Trax Editor had that doesn't seem possible with the Time Editor: editing the original source clips. 

 

With the Trax Editor, I could simply right click on a clip and click on "Activate Keys" to quickly and easily have the original keyframes appear in the Time Slider, make adjustments, and expect it to be updated realtime for the clip in the Trax Editor. Is this possible with Time Editor source clips?

 

Say I create an animation of my character running as normal, then I convert it to a clip with the Time Editor. Now let's say I want to edit/revise the Time Editor source animation clip in the timeslider, maybe change the number of frames in the source clip, completely modify the animation, etc. Is this possible? I'd like to avoid using layers in the Time Editor and keying ontop of the clip, but rather instead editing the original source clip in the time slider. If there is a way to do this, then Time Editor would certainly 100% suit my needs. Thanks in advance!

6 REPLIES 6
Message 2 of 7
Matan_Shilo
in reply to: Kevinmalluc

Have the same problem, so sorry I click on the time editor. I can change my animation or in other words I have to redo it.

I hope their a way to fix it. 

Message 3 of 7
gilleybaba
in reply to: Kevinmalluc

Agreed! Having quick access to edit the source clips was a great feature of Trax.  Unfortunately, I don't think you can edit your source clips so easy with the Time Editor.

 

From the help files, it says you need to Mute the clip in the Time Editor first(the circle/slash icon at in the upper left corner).  Then you have to open the Graph Editor and click on the keys on the f-curves to edit you original animation.  What sucks is you can ONLY edit the source animation in the Graph Editor.  If you click in the viewports to try to edit the animation, nothing works.  Forcing you to use only the graph editor to change the animation is a really bad workflow IMHO and I can only hope that it's bugged or something.

Message 4 of 7
Matan_Shilo
in reply to: gilleybaba

I have been searching for a while in Maya documentation and the only option is like you said. 

Better do it on another file, it destroyed my animation. 

 

Cheers 🙂

Message 5 of 7
gvok
in reply to: Matan_Shilo

I'm using maya 2017 Update 3 and you can select the clip and the keys will appear and be editable in the graph editor. However I dont think its possible to revert this animation back onto the rig directly which is pretty insane if this is correct. If not I'd love to know how to do it.. If the animation is still representable in the graph editor it may be possible to access the animation information via cmds and recreate on the originally animated controls..

 

Any insight from Autodesk would be appreciated.

 

Regards,

Message 6 of 7
joshalanb
in reply to: Kevinmalluc

Also running up against this frustrating limitation. The time editor has so much potential otherwise!

 

I've found that you can apply the animation source back to the scene (Sources > Apply To Scene) and from there it is editable... but there's no way to update or save over the existing anim source. After tweaking the animation in the scene (with the Time Editor disabled) If you attempt to then update the old source using Add Animation From Scene Selection, it just creates a brand new anim source - even if you name it the same as the old one!

There's no other options that I can find.

Message 7 of 7
gvok
in reply to: joshalanb

Did a bit of digging around and it turns out you can reconnect the edited /baked animation back to the rig - just that it needs to be done using a script as the functionality is not exposed through the UI. The timeEditorInterpolator and timeEditorClipEvaluator contain the information needed to determine what controls on the rig are connected to the animation channels in the clip. When you bake the clip you can then connect the animation curves back to the controls directly.  I use this to take edited (merged, time scaled, baked etc) clips back onto the rig.

 

from maya import cmds

def getConnectedAnimClips(nodes): clips = [] for node in nodes: evaluators = cmds.listConnections(node, type='timeEditorClipEvaluator') if evaluators: clip_connections = cmds.listConnections(evaluators, type='timeEditorClip') clips.extend(clip_connections) if clips: return list(set(clips)) def revertClipAnimForSelectedControls(): revertClipAnim(getConnectedAnimClips(cmds.ls(sl=1))) def disconnectTimeEditorNodes(animation_target): for time_editor_node in ['timeEditorInterpolator', 'timeEditorClipEvaluator']: destination_connections = cmds.listConnections(animation_target, plugs=1, type=time_editor_node, c=1, scn=1, s=0, d=1) source_connections = cmds.listConnections(animation_target, plugs=1, type=time_editor_node, c=1, scn=1, s=1, d=0) if destination_connections: for node_attr, interpolator_attr in zip(destination_connections[0::2], destination_connections[1::2]): cmds.disconnectAttr(node_attr, interpolator_attr) if source_connections: for node_attr, interpolator_attr in zip(source_connections[1::2], source_connections[0::2]): cmds.disconnectAttr(node_attr, interpolator_attr) def revertClipAnim(clips): # if type(clips) != 'list': # cmds.error('input argument must be a list -- ie ["foo", "bar"] of clips..') for clip in clips: if not cmds.ls(clip, type='timeEditorClip'): cmds.error('item is not a clip: {}'.format(clip)) anim_source_node = cmds.listConnections(clip, plugs=0, type='timeEditorAnimSource')[0] targets = cmds.listAttr('{}.animation[*].target'.format(anim_source_node)) for i in range(len(targets)): animation_target = cmds.getAttr('{}.animation[{}].target'.format(anim_source_node, i)) animation_source = cmds.listConnections('{}.animation[{}].source'.format(anim_source_node, i)) if animation_source: cmds.connectAttr('{}.output'.format(animation_source[0]), animation_target, force=True) disconnectTimeEditorNodes(animation_target)

 


AD should incorporate a script like this to allow users to quickly reconnect edited animation back to the rig.

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report