supported 1.21.4
1.21.2 supported
Fix Bugs
Added missing Float3 network packet
Added missing network packet for Float3
Bug Fix
Cannot load float2 and float3 to variable keyframes
Added
Field animator in AnimatorEvent and ClientAnimatorStateEvent
Added
Pre and Post frames.
Fixed Bug
Warming during load a bone with only one frame.
Bug Fix
Wrong rotation and position for cape.
Experimental Feature
Variable keyframes have been slightly updated with types, although it still needs to be used with bones.
You can name a BlockBench Group(Bone) with format var_type(optional)name...
Available type names are: float, float2, float3, int, int2, int3, bool, bool2, bool3, vec2, vec3.
example: var_float3_myPosition_acting_int2_myScreenPos
Bug Fix
NullPointerException
Small Update and Feature Preview
This update mostly for developers.
Animation Variables
Animation side
Animation supports keyframes for variables, but since the corresponding animation tool or BlockBench plugin has not yet been developed, the current method of adding animation variables is as follows:
- Add an empty group in BlockBench
- Name it with format: var_name1_name2_name3 (underlines are separators, maximum of 3 variables per group)
- Goto “Animate” and add keyframes for them.
The variable uses the first value of Position, Rotation, Scale.
Program side
Variables only store in client, you can get a variable by using: ClientAnimator.getVariable(name)
If the running animation does not contain this variable, this function returns an unchangeable VariableHolder with a value of 0.
Quasi Inverse Kinematics
This is an experimental feature, and only in client side.
This feature provides three built-in variables: ikLeftArm, ikRightArm, ikHead, you can add it in animations to control IK weights.
The IK target can only be set by programs, using: ClientAnimator.setIkTarget(bone, pos)
.
Full Changelog: https://github.com/LouisQuepierts/SimpleAnimator/compare/1.2.1...1.2.2