This setting is set to _off_ on some imported animation files;
in this case, tangent data is not used and the curve is interpolated linearly.
Previously, we would sometimes set this to on as part of various animation
manipulations we perform in MA processing; this broke some avatars, e.g. "Fluria".
This doesn't fully close#217, but it's an improvement. Fully fixing it will require reworking the UI fully (or getting unity to fix their terrible code :/)
It seems that sometimes static initializers are created before the icon annotations are updated. This change checks for this case, and defers the icon-disabling until after the necessary annotation records are created.
The previous logic failed when duplicate PBs explicitly specify their root transform.
This change rewrites this logic and expands the cases in which PBs are pruned.
CreateAsset, as it turns out, can be extremely slow, particularly when used on Mesh objects.
By adding our generated objects as sub-objects of a container AnimatorController, we can
minimize this overhead.
This branch rewrites the merge armature logic to be both simpler and more reliable. In particular, all components in the merged armature will always be moved into the target armature, eliminating the need for complex and unreliable constraint adjustments. I also rewrite the path remapping logic to be more reliable by tracking actual GameObjects, rather than string paths.
This change fixes a number of constraint-heavy outfits, including:
* https://cloudz.booth.pm/items/3751948
* https://capettiya.booth.pm/items/4424678
It also fixes issues with some more advanced use cases, such as animating transforms on bones that are newly added using merge armature.
With this change it is now possible for Menu Installer to specify as its target a menu installed by another Menu Installer, or a submenu thereof. This allows prefabs to inject extension entries into other prefab menus.
The Merge Armature logic is in need of an overall rewrite, but this works around
issues where added (duplicate) bones break PBs in parents, by adding these to parent PB ignore lists.