Exemplo n.º 1
0
        protected override Vector3 KinematicProcess(float delta, Vector3 velocity, Vector3 rotationalVelocity)
        {
            var speed     = velocity.Length();
            var direction = velocity.Normalized();

            if (speed > 0)
            {
//                if (Mathf.Abs(direction.z) > 0)
//                {
                var forward = direction.z <= 0;

                TreePlayer.TransitionNodeSetCurrent(DirectionTransition,
                                                    forward ? TransitionForward : TransitionBackward);
                TreePlayer.Blend3NodeSetAmount(forward ? ForwardBlend : BackwardBlend, direction.x);
//                }
//                else
//                {
//                    TreePlayer.TransitionNodeSetCurrent(DirectionTransition, TransitionStrafe);
//                    TreePlayer.TransitionNodeSetCurrent(StrafeTransition,
//                        direction.x < 0 ? TransitionLeft : TransitionRight);
//                }

                TreePlayer.TransitionNodeSetCurrent(MoveTransition, TransitionMove);
                TreePlayer.TimescaleNodeSetScale(ScaleSpeed, speed);
            }
            else
            {
                TreePlayer.TransitionNodeSetCurrent(MoveTransition, TransitionIdle);
            }

            return(_offset.origin / delta);
        }
Exemplo n.º 2
0
 protected virtual void ResetAnimations()
 {
     TreePlayer.TransitionNodeSetCurrent(MoveTransition, TransitionIdle);
 }