Я хотел бы создать ползунок, который отображает текущий кадр анимации в пределах единства, и когда вы перемещаете ползунок, он обновляет текущий кадр в анимации.
Пока у меня есть (отредактированный код)
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class NewAnimController : MonoBehaviour {
public Slider sliderScrubber;
public Animator animator;
void Start()
{
float t = animator
.GetCurrentAnimatorStateInfo(0)
.normalizedTime;
//animator.speed = 0.0001f;
//slider.onValueChanged.AddListener(OnValueChanged);
}
public void Update()
{
float animationTime = animator.GetCurrentAnimatorStateInfo(0).normalizedTime;
Debug.Log("animationTime (normalized) is " + animationTime);
sliderScrubber.value = animationTime;
}
public void OnValueChanged(float changedValue)
{
animator.speed = 0.0001f;
animator.Play("Take 001", -1, sliderScrubber.normalizedValue);
}
}
На данный момент это изменяет текущий кадр в анимации, когда вы настраиваете ползунок, но когда анимация воспроизводится, ползунок не обновляется.
Как я могу заставить это работать в обоих направлениях?
Большое спасибо