繁体   English   中英

统一创建动画洗涤器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM