我正在制作一个关于敌人死亡的动画,但是动画不会在一个空帧上结束,所以动画的最后一帧将保留在屏幕上。我看到其他人通过制作一个空的关键帧作为动画的最后一帧来完成它,使动画在最后一帧后从屏幕上消失,但我找不到方法来做到这一点。
Wanted effect https://imgur.com/jaRsBDm找到制作最后一个空关键帧的方法
我正在制作一个关于敌人死亡的动画,但是动画不会在一个空帧上结束,所以动画的最后一帧将保留在屏幕上。我看到其他人通过制作一个空的关键帧作为动画的最后一帧来完成它,使动画在最后一帧后从屏幕上消失,但我找不到方法来做到这一点。
Wanted effect https://imgur.com/jaRsBDm找到制作最后一个空关键帧的方法
5条答案
按热度按时间2ic8powd1#
当然,正如derHugo很好地解释的那样,要使动画在最后一帧(现在是空的)停止,您还需要在项目窗口中单击您的动画文件,并在检查器中禁用“循环时间”。
smdncfj32#
我不认为
others manually add
他们,因为没有像empty keyframe
这样的东西。有时候,这只是E。例如,当处理子画面时,请参见Why are there extra frames in Unity's Animation System?。我猜这和execution order和动画师和UI的渲染顺序有关。但是,您可以简单地创建一个附加的关键帧,指向所需的时间,然后只需双击时间轴即可为当前状态的所有属性添加关键帧:
或者,您也可以通过单击灰色栏中的关键帧来选择一个关键帧的所有属性,并执行CTRLc - CTRLv以将所选关键帧复制到其他位置。
因此动画的最后一帧将保留在屏幕上
这实际上是通过简单地禁用
Loop Time
启用此选项可使动画播放完,然后在到达终点时重新开始。
相应的动画剪辑
pb3skfrl3#
我发现记录方法有点麻烦。我所做的是添加一个关键点的第一帧,我想无精灵设置。我添加的新密钥是在时间0。
Image of adding Key to animation.
在编辑器中保存更改后,我打开。anim文件(不是。anim. meta文件)并搜索相关路径。在我的情况下,Body/Cape。
然后我用None文件(fileID为0)替换相应时间的帧(在我的例子中时间为0):
pkln4tw64#
按下【动画】选项卡中的红色【录制】按钮,禁用游戏对象的精灵渲染器。然后再次单击同一按钮停止录制。这样你的动画将禁用精灵渲染器,这样使对象不可见。动画结束后,精灵渲染器将自动重置。
rsaldnfx5#
正如其他几个答案中所描述的,UI是如此笨拙,以至于荒谬。中的YAML编辑可能会更轻松。动画文件。
它将重新使用最后一个精灵。
(two在YAML中具有fileID的新行)
这将清除最后一个精灵。
下面是diff应该是什么样子的截图: