Released 2020-03-02
Features
- Added some keyboard controls for Animancer Events in the Inspector:
- Left and Right Arrows nudge the event time one pixel to the side. #23
- Holding Shift moves 10 pixels at a time.
- Space rounds off the event time by one digit. For example:
0.123would become0.12and0.999would become1.
- Greatly reduced the performance cost of the obfuscation used in Animancer Lite (mainly by removing the allocation of unnecessary garbage).
Changes
- States now delay the initialization of their playables until they are actually needed:
- States can now be constructed independently of the graph so they no longer require the same 3 constructors to be repeated in every single state class.
- This will not have any immediate effect for the majority of users, but it removes one of the major issues preventing states from being pre-allocated and re-used in
ObjectPools which should be able to improve performance in a future version. - Added an implicit conversion from
AnimationCliptoClipStateso that you can now do things likemixer.SetChild(0, clip). - Added
AnimancerState.SetRootwhich could theoretically allow states to be moved between characters, though it has not been tested for that purpose. AnimancerPlayable.Playnow puts the state on layer 0 if it was not already attached to a layer.ITransition.CreateStateno longer has anAnimancerLayerparameter so that they can be used similarly with a layer or mixer as the parent.- Removed
Validate.CanBePlayedsince states can be set to meet its conditions on demand.
- The
AnimancerComponentInspector now shows "-?" for negativeWeightvalues since they don't actually work and don't otherwise fit into the space for "0.0". - Moved the default IK flags from
AnimancerLayertoAnimancerPlayable. - Added
AssemblyInfofiles for the examples andAnimancer.FSMto suppress various coding style suggestions to avoid cluttering user projects with messages about 3rd party code.
Fixes
- Fixed Animancer Lite runtime errors when using IL2CPP.
- Fixed the assertions in
StateBehaviourto not create garbage when they pass. - Fixed
AnimancerPlayable.DestroyAll(IAnimationClipCollection)to actually work. - Fixed
ControllerState.ResetToDefaultStatesto work properly when stopping the state. - Set up proper audio falloff settings in the Footstep Events example.
- Improved
Character.GetRootMotionin the 3D Game Kit example. #26