当前位置:  开发笔记 > 开发工具 > 正文

游戏动画的最佳方法?

如何解决《游戏动画的最佳方法?》经验,为你挑选了1个好方法。

我在OpenGL中进行了一个练习,用几个对象的简单动画来编写游戏

在与我的合作伙伴讨论我们的设计选项时,我们已经意识到我们对动画的工作方式有两个主要选择,或者

将计时器设置为恒定间隔,例如30毫秒,当计时器命中时,计算对象应该在哪里并绘制帧.要么 -

不要使用计时器,只是一直运行的正常循环,并在每次迭代中检查通过了多少时间,根据间隔计算对象的位置并绘制框架.

通常应该采用哪种方法?有没有人有任何方法的具体经验?



1> Macke..:

尽可能快地渲染和计算以获得最大帧速率(由垂直同步限制)

不要使用计时器,它们在Windows上不可靠<50-100毫秒.检查已经过了多少时间.(通常,您需要delta t和绝对值,具体取决于您的动画是基于物理还是基于关键帧.)

另外,如果你想保持稳定,可以在时间步长上使用上限/下限,如果帧需要几秒钟来渲染(由另一个进程进行光盘访问?)或者如果你跳过更新,则进入慢动作在10毫秒内得到其中两个.

更新 (因为这是一个相当受欢迎的答案)

我通常更喜欢固定的时间步,因为它使一切更稳定.大多数物理引擎在不同的时间内非常强大,但是其他东西,如粒子系统或各种更简单的动画甚至游戏逻辑,在一切都按固定时间步长运行时更容易调整.

Update2 (因为我有10个upvotes;)

为了在长时间运行(> 4小时)内获得进一步的稳定性,您可能希望确保不使用浮点数/双精度来计算大的时间差,因为这样做会失去精确度并且您的游戏的动画/物理将受到影响.使用固定点(或基于64位微秒)的整数.

对于毛茸茸的细节,我建议阅读Tom Forsyth 的精确问题.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有