在 Unity 动画系统中,动画播放完毕默认是停留在最后一帧的,当我们重置场景的时候,需要将动画重置到第一帧。而 Animation 和 Animator 组件中并没有 Reset 方法。本文主要提供了关于 Animation 和 Animator 动画重置的解决方法。

Animator 重置到起始帧

通过 Animator.Play 和 Animator.Update 播放来进行控制。

Animator.Play

  • 函数原型
void Play(string stateName, int layer = -1, float normalizedTime = float.NegativeInfinity);

  • 参数列表
Parameters 参数 Description 描述
stateName The name of the state the will be played.
将要播放的动画状态名字。
layer The layer where the state is.
动画状态所在的层。
normalizedTime The normalized time at which the state will play.
将要播放动画状态的归一化时间。

Animator.Update

  • 函数原型
void Update(float deltaTime);

  • 参数列表
Parameters 参数 Description 描述
deltaTime The time delta.
增量时间。

示例代码

public void animToStart()
    //参数:动画名,层,时间
    animator.Play("Take 001", -1 ,0f);
    animator.Update(0f);
}

Animaton 重置到起始帧

解决思路

通过设置动画的 AnimationState ,将其时间调整到0,从而达到重置动画的效果。

示例代码

    public void ResetAni(Animation ani, string name)
        AnimationState state = ani[name];
        ani.Play(name);
        state.time = 0;
        ani.Sample();
        state.enabled = false;
                            
java写一个list作为条件的批量查询 java list select

JavaSE集合框架之list集合1.list集合概述及特点及存储字符串并遍历A:List集合的特有功能概述 void add(int index,E element):在指定索引处添加元素 E remove(int index):移除指定索引处的元素 返回的是移除的元素 E get(int index):获取指定索引处的元素 E set(int index,E element):更改指

android有哪些so Android有哪些好用的开源软件

作者:Felix 工欲善其事,必先利其器。一个好的开发库可以快速提高开发者的工作效率,甚至让开发工作变得简单。本文收集了大量的Android开发库,快来切磋一下,到底哪一个最适合你。动画 Android View Animations:一个非常强大的开源动画库,开发者可以用来创建各种效果。 RecyclerView Animators:可实现RecyclerView动画。APIs CloudRa