Released 2020-10-06
See the Animancer v5.0 Upgrade Guide if you're upgrading from a version older than that.
Animancer v5.3.2
Released 2020-11-18
- Fixed warning about "Animancer ... does not have exactly one [AssemblyDescription] attribute" after importing Animancer Pro over the top of Animancer Lite. #82
Animancer v5.3.1
Released 2020-10-08
- Fixed several Development Build errors.
- Fixed the
TransitionPreviewWindowto not triggerOptionalWarning.EndEventInterruptif theNext Animationis empty.
Experimental
Several changes are currently being considered for the next major version (v6.0). Any feedback would be appreciated.
- Add a
StateChangeclass to the FSM system instead of passing the previous/next state into theCanEnterStateandCanExitStatemethods. - Restructure the way Animancer Event callbacks are accessed in code.
Changes
- Renamed
IKeyHoldertoIKeyedListItem. - Reworked Mixer Synchronization to fix several bugs:
- Mixers now keep a list of references to the synchronised child states rather than a
bool[]that indicates which children are synchronised. - This is slightly more efficient (significantly for nested mixers).
- Added
MixerState.AutoSynchroniseChildrento control whether newly added children are automatically added to the synchronization list (default true). - Fixed it to work properly on nested mixers by giving their synchronised children to the parent mixer to synchronise them all together so that the outcome is not based on the non-deterministic
AnimancerNodeupdate order. - Fixed it to keep states synchronised even when none of those states have any
Weight. - Fixed it to work properly with
LinearMixerState.ExtrapolateSpeed. - Fixed it to work properly with negative speeds.
- Fixed it to work properly with zero length states.
- Added
OptionalWarning.MixerSynchroniseZeroLength.
- Mixers now keep a list of references to the synchronised child states rather than a
Improvements
- Animancer Event markers on the
TimeRulercan now be dragged to move their time. - Added
AnimancerState.NormalizedEndTimeto wrapAnimancerEvent.Sequence.NormalizedEndTimeand return the default time based on theEffectiveSpeedif the value isNaN. - Improved the
PlayableAssetStatebinding system:- The "Markers" track in Timeline Assets is now automatically skipped.
- The
PlayableAssetTransitionInspector now highlights the size of theBindingsarray as a warning if it does not match tracks in the the assignedAsset. - The track names are now used for their respective
Bindingsfields (instead of the default "Element X").
- Negative
AnimancerState.Timevalues are now displayed correctly in the Live Inspector. AnimationBindingsnow continues gathering bindings even when the Unity Editor is Paused.- Improved the formatting of
AnimancerNode.AppendDescription. - Improved automatically generated state names:
- Changed the default name generated by
AnimancerState.ToStringtoMain Object Name (Type Name)(instead of putting the Type Name first. - Added similar
ToStringmethods to Transitions. AnimancerTransition.Applynow assigns the asset's name to the state.
- Changed the default name generated by
- The Inspector now shows the
Real Speedof a state if it is different from theAnimancerNode.Speed(because Mixer Synchronization changes the internal Playable Speed without setting the State Speed). - Added
OptionalWarning.UnusedNode.
Fixes
- Fixed Mixer Synchronization to ignore zero length states.
- Fixed
AnimancerNode.EffectiveSpeedto properly account for the rootAnimancerPlayablespeed. - Fixed
EventSequenceDrawerto work properly outside of aTransitionDrawer. - Fixed exception when attempting to destroy a state connected to a mixer which doesn't have its
Rootset. - Fixed
OptionalWarning.EndEventInterruptto not trigger if theAnimancerLayer.CommandCountchanges. - Fixed
AnimancerEvent.Sequence.SetCallbackto not triggerOptionalWarning.DuplicateEvent. - Fixed
ObjectPool.Disposableto work properly forHashSets. - Fixed
AnimationBindingsto work properly for Euler Angle rotations (rather than onlyQuaternionrotations). - Fixed the
TransitionPreviewWindowto not throw exceptions if theKeyof the previewed transition is null. - Fixed the
AnimancerNodefinalizer to not cause Unity threading errors. - Fixed various Context Menu Functions on Mixer Transitions to ensure they target the correct
SerializedPropertyif there are multiple such fields on the same object. - Fixed various
OptionalWarning.Logcalls to not create any garbage unless the warning is actually enabled.