在统一中创建动画洗涤器

本文关键字:动画 洗涤器 创建 | 更新日期: 2023-09-27 18:32:41

我正在尝试创建一个用于在 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;