abrasic / abratools

Free animation toolset for Blender 4.
https://docs.abx.gg
GNU General Public License v3.0
144 stars 1 forks source link

Feature Request: Global Offfset, Rotation Order/Space Switcher #7

Open OfficialRocket64 opened 6 months ago

OfficialRocket64 commented 6 months ago

Summary

What tool or feature would you like to see added in future versions?

Usefulness of feature

How does your feature benefits not only you, but other fellow animators? How would this tool improve your workflow? How would this tool improve the quality of abraTools?

Mockups, prototypes or other useful graphics depicting feature usage (optional)

If you'd like, you may also provide us with graphics for how you would like to see your feature implemented.

Hello! I'm a Maya native animator, familiar with AnimBot, who has been using blender 4.0 and AbraTools for a few months now! Thank you all SO so much for all of the tools you've provided, they've been amazing, and make animating so much easier!

I wanted to request a few features I couldn't find anywhere else. Namely, AnimBot's Global Offset, as well as the rotation order switcher, and space switcher.

I understand Global Offset is very similar to a previous feature of AnimAide, but since the AnimAide tweening tools became native in blender 4.0, AnimAide is no longer supported in 4.0, and this feature of the add-on is unavailable. Essentially, Global Offset allows for any key range selected to universally apply changes made within that frame range (like adding a layer, but affecting the entire curve directly). If an animator makes a change to the Rotate X of a bone with global offset on, the rotational change is applied across either the entire animation, or selected range. This makes implementing feedback and making changes to animation much easier and faster, and it's one of my favorite AnimBot tools I'm very sad to see absent from Blender.

The other features I am looking for, involve the Rotation Order Switcher and Space Switcher- these will determine which euler rotational order for an object is the most optimal, given the curves, and will allow changing that rotation order to maintain all animation exactly as it was originally. Currently, rotational order can be changed, but it slightly affects the end result, and there is no indication as to which euler rotational order will best prevent Gimbal Lock. The Space Switcher is similar, but rig-dependent, in that changing the parent space of a controller (such as an IK hand to be in torso space, root space, or world space) will maintain all animation across all current keyframes. I understand the Copy World Space add-on allows for this to be maintained, but it must be done across your desired keys manually, and makes the process a bit more tedious through long animations.

I really REALLY appreciate AbraTools and all developers working on the project. Please let me know if there's anything I can do as an animator to help this project! Thank you so much!

abrasic commented 6 months ago

Hi there, thanks a bunch for your feature requests. We are grateful that you find usefulness in our project :)

Just now I uploaded a build that includes Global Offset. It's mostly the same functionality as it was in AnimAide, but you can find the additional options such as Range Only and Real-Time/Fast Calculation by Shift+Clicking the tool in the toolshelf (it's does not appear in the toolshelf by default). Hopefully it works for you, and do let me know about any issues that arise with it, or any other additional functionality that you'd like to see.

Rotation Order Switcher is most likely planned to be added next. So far I've written up basic logic that "scores" each rotation order for objects to determine how close the overall animation is to hitting gimbal lock, and it will be able to show the animator the 'best' rotation order for that object or bone (within desired range). I still need to work on the key-baking system for it, but hopefully this tool will be completed at a later time.

I also have a plan for adding Space Switching for N-Panel props/attributes too, but I'll get to this one once I have everything else wrapped up. I'll keep this issue open and get back to you in regards to the other tools once I get the time.

Thanks again for your ongoing support. If you come across any other bugs or issues with abraTools please feel free to report them as soon as convenient :)

OfficialRocket64 commented 6 months ago

Holy Cow! Thank you so much! I tested it out this morning, and the feature works great! Thank you SO much for updating so quickly, this will be a huge help with my work! I'm also looking forward to seeing those other features coming soon!