【发布时间】:2015-05-14 20:52:53
【问题描述】:
在 Unity 3D(2D 模式)中,我有一些与 Animator 链接的游戏对象,以及使用 Animation Timeline 制作的动画。动画最初被禁用:
public GameObject car;
Animator carAnim;
void Start() {
carAnim = car.GetComponent<Animator>();
carAnim.enabled = false;
}
然后,通过输入事件,将动画设置为启用:
void Update() {
if(Input.GetKeyDown(0)) {
carAnim.enabled = true;
}
}
但是,当动画开始播放时,整个屏幕会闪烁一次。如何消除闪烁?
【问题讨论】:
-
您能检查一下您的动画时间轴起始值吗?当您开始录制动画时,屏幕或游戏对象的位置可能会错误地移动。
-
我仔细检查了所有动画。他们在 0 秒时有关键帧。值得一提的是,没有动画的部分(例如背景)也会闪烁。这发生在 Unity 编辑器和 iOS 上。
-
关键帧在 0 秒不是问题,但游戏对象的初始值在 0 关键帧对我来说,每当我开始动画尝试将其包导出到设备并运行时它都不会闪烁。如果该软件包在设备上运行良好,则可能是您的显卡问题。
-
您的动画只改变精灵还是改变时间轴中的任何其他属性?动画开头附加了任何事件吗?