В редакторе высота персонажа равна 50,98. Персонаж находится на земле.
Затем с помощью этого сценария я играю анимацию:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayAnimation : MonoBehaviour
{
public List<Camera> cameras = new List<Camera>();
private Animator anim;
private bool started = true;
private float animationLenth;
// Start is called before the first frame update
void Start()
{
anim = GetComponent<Animator>();
}
private void Update()
{
if (Whilefun.FPEKit.FPESaveLoadManager.gameStarted == true && started == true)
{
Whilefun.FPEKit.FPEInteractionManagerScript.Instance.BeginCutscene();
cameras[0].enabled = false;
anim.enabled = true;
anim.Play("Stand Up", 0, 0);
animationLenth = anim.GetCurrentAnimatorStateInfo(0).length;
StartCoroutine(AnimationEnded());
started = false;
}
}
IEnumerator AnimationEnded()
{
yield return new WaitForSeconds(animationLenth);
Whilefun.FPEKit.FPEInteractionManagerScript.Instance.EndCutscene();
anim.enabled = false;
cameras[1].enabled = false;
cameras[0].enabled = true;
}
}
Когда я приостанавливаю игру для тестирования, когда анимация закончилась, высота персонажа теперь равна 51.06595
А потом, когда я продолжаю игру, персонаж немного падает с 51.06595 до 50.98. Анимация по какой-то причине заставляет персонажа заканчиваться в воздухе, он не меняет высоту персонажа по шкале, а немного меняет свою позицию Y.
Но анимация - это просто стоящий клип, нет причины, почему в конце персонаж будет выше и не будет стоять на месте во время воспроизведения анимации.
Это настройки вкладки анимации. :
и настройки вкладки анимации: