Released 2018-05-29
- [Pro-Only] Added
AnimancerLayer
s which can either override or additively blend with each other and supportAvatarMask
s to determine which bones they each affect. - Improved the layout of the
AnimancerController
Inspector.- States are now grouped by layer.
AnimationMixer
s now show their sub-states even when not showing their details, show the threshold of each sub-state, and show the currentParameter
value of the mixer when its details are expanded.- The Inspector now repaints itself whenever animations are active to make sure it is always showing the latest information.
- [Lite-Only] Moved all
MonoBehaviour
components out of Animancer.dll so that Unity won't lose any script references when upgrading from Lite to Pro. - [Lite-Only] Added XML documentation file with Animancer.dll so your IDE can display comments for all public types and members inside the dll.
- Added
AnimancerExtensions
class containing extension methods for theAnimator
component to easily add anAnimancerController
or play clips. - [Pro-Only] Added
AverageVelocity
properties to calculate the blended velocity of all states in anAnimancerPlayable
,AnimancerLayer
, andAnimancerState
at their currentWeight
. - [Pro-Only] Added
AnimationMixer.CalculateThresholds
method which takes a delegate to determine the threshold of each state based on whatever values you like, such as the average root motion velocity on the X and Z axes. - Changed
AnimancerPlayable
to public and exposed it viaAnimancerController.Playable
. - Moved the dictionary of registered states from
AnimancerController
intoAnimancerPlayable
to make it more self-contained and potentially reusable without anAnimancerController
component. Also removed theOnStateDestroyed
event as it was only being used to update the dictionary. - Implemented
IEnumerable<AnimancerState>
withGetEnumerator
methods inAnimancerPlayable
,AnimancerLayer
, andAnimancerStates
instead ofAnimancerController.GetStates
. This allows you to use foreach loops over any of them. - Optimised
AnimationMixers
to not use foreach loops so they no longer generate garbage every frame and when setting theParameter
. - Fixed a bug that prevented animations from playing after reactivating an
AnimancerController
, such as when utilising object pooling. - Changing time values or playing states using the Inspector while the editor is paused will now call
AnimancerC.Evaluate
to immediately apply the changes to the model. - Improved the cleanup process when destroying states and layers.
- [Pro-Only] Fixed an error in the way
DirectionalAnimationMixer
calculates blend weights. - Fixed a bug that prevented states without a registered key from being shown in the
AnimancerController
Inspector.