[英]Creating an animation scrubber in unity
我正在尝试创建一个洗涤器,用于在Unity中展示3D动画模型。
我可以在其中更新动画的当前帧,但是播放动画帧时不会更新滑块。
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class NewAnimController : MonoBehaviour {
public Slider slider;
public Animator animator;
private AnimationState anim;
void Start()
{
animator.speed = 0.0001f;
slider.onValueChanged.AddListener(OnValueChanged);
anim = GetComponent<Animation>()["Take 001"];
}
void Update ()
{
anim.time = slider.value;
}
public void OnValueChanged(float changedValue)
{
animator.speed = 0.0001f;
animator.Play("Take 001", -1, slider.normalizedValue);
}
请帮忙。 非常感谢
这在普通的Unity.UI(2016)中非常容易实现...
1-点击“添加画布”
2-点击“添加滑块”
3- Update
一行代码 ...
GetComponent<Slider>.value = .. your animation time ..
而已!
如果您希望使用其他滑块旋钮,则只需拖动其他图像即可。 根据需要在编辑器中更改滑块的宽度,颜色等。
对于未来的读者来说,要获得动画时间似乎通常是
float t = animator.GetCurrentAnimatorStateInfo(0).normalizedTime;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.