Title Image

Maya Retiming Tool Project

1 hour 28 minutes
Chris Zurbrigg

Become a Patron!


In this project-based series I will create, step-by-step, a retiming tool for Maya. This is a tool that can be used by animators to change the timing and spacing of an animation.

The main goal of this series is to teach viewers how to interact programmatically with Maya’s timeline using Python and the Maya commands module.
* This is a Patreon series. Project files and videos marked with a Patreon logo are Total Access exclusives.

Course Outline

6 Videos (1 hour 28 minutes)

00 - Introduction

An overview of the Retiming Tool project, including a look at the finished tool and how it can be used to retime keyframes in Maya.

01 - Helper Methods

To get things started, several helper methods will be implemented to query and/or modify the current time, playback slider range and keyframe times.

02 - Calculating Keyframe Times

In this video, the first part of retime_keys method is implemented. This includes the code necessary to calculate the new keyframe times based on the method’s input parameters and the selected range in the playback slider.

03 - Recursive Retiming

With the new keyframe times calculated, it is time to apply these values to the corresponding keyframes in Maya. This must be done in a specific order to avoid invalid time changes.

04 - Move to Next

The last thing that needs to be added to the Retiming Utils class is the Move to Next functionality.

05 - Native UI

In this video, a user interface for the Retiming Tool is created using the the native UI commands found in the maya.cmds module.

06 - PySide2 UI

In this video, the UI for the Retiming Tool will be created using PySide2. Note: PySide2 is available in Maya 2017 and newer.

07 - Undo Caveat

Maya's Undo/Redo queue doesn't always work as expected and this video addresses one inconsistency encountered with the PySide2 UI.