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.123
would become0.12
and0.999
would 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
ObjectPool
s which should be able to improve performance in a future version. - Added an implicit conversion from
AnimationClip
toClipState
so that you can now do things likemixer.SetChild(0, clip)
. - Added
AnimancerState.SetRoot
which could theoretically allow states to be moved between characters, though it has not been tested for that purpose. AnimancerPlayable.Play
now puts the state on layer 0 if it was not already attached to a layer.ITransition.CreateState
no longer has anAnimancerLayer
parameter so that they can be used similarly with a layer or mixer as the parent.- Removed
Validate.CanBePlayed
since states can be set to meet its conditions on demand.
- The
AnimancerComponent
Inspector now shows "-?" for negativeWeight
values since they don't actually work and don't otherwise fit into the space for "0.0". - Moved the default IK flags from
AnimancerLayer
toAnimancerPlayable
. - Added
AssemblyInfo
files for the examples andAnimancer.FSM
to 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
StateBehaviour
to not create garbage when they pass. - Fixed
AnimancerPlayable.DestroyAll(IAnimationClipCollection)
to actually work. - Fixed
ControllerState.ResetToDefaultStates
to work properly when stopping the state. - Set up proper audio falloff settings in the Footstep Events example.
- Improved
Character.GetRootMotion
in the 3D Game Kit example. #26