Allows you to store a single object's initial position and rotation values, then store the new values after moving and/or rotating and apply the calculated difference between these values (as a relative offset) to any selected objects with existing keys. Offsets can be applied to either position or rotations controllers or both. The offsets applied can also be inverted.
Usage:
1. Select a single object and click Get Initial Values to record it's position and orientation values at that time.
2. Move or rotate any object (animated or not) and click Get New Values button to record the new values.
3. Select some objects then click >>> Apply NOW <<<.
- If selected keys mode is used, you'll first need to select some keys either in trackview or the trackbar.
- The calculated difference in position and rotation values between the Initial and New are applied relative to the existing key values as an offset.
Limitations:
- Currently, only works on Position/Rotation/Scale controllers and IK chain controllers for position and rotation tracks.
- Doesn't work on Biped. It has its own version of Apply Increment (the initial inspiration for this tool).
- Doesn't work on CAT rigs.

Updates:
Version 1.4;
- Added an option to apply difference values to all keys, as well as selected keys via radiobutton toggle.
- UI now remembers its last screen position.
Version 1.3;
- Added a mode selection to apply offsets to controllers for position, rotation or both.
- Added an option to invert the difference values when applying them.
- Improved user interface feedback, clarity and usage.
- General code cleanup and refactoring.
- Added a toolbar icon.
Version 1.2;
- Contact email changed.
- Recoded script as a struct to minimize global variables.
Version 1.1;
- Changed the way controller variables are stored.
Version 1.0;
- First release.
By lbrooks
MyGalaxy · 2018-11-25