0

好的,这听起来像是一个愚蠢的问题,但我想知道当你知道你将有低帧率时,是否有任何关于如何尽可能平滑和快速地为对象设置动画的建议。

我的动画所做的是,我在 x 和 y 上移动了大约 10 个二维矩形(每个都包含一个纹理)大约 500 像素,并且我还将它们从大约 1000*1000 像素缩小到大约 30%。我希望动画在大约 200 毫秒内完成。我估计帧率可能是 20-30fps。

我尝试了不同的时间和运动速度,但它们看起来都像废话。如果你的速度很高,你几乎看不到动画,如果你的速度很慢,它看起来很流畅,但需要很多时间。

有没有研究过如何制作一个看起来仍然运行流畅的快速动画。我在想你可能会在开始时加速很慢,然后在结束时跳跃,或者反过来呢?我自己的实验看起来既跳跃又缓慢:P

我们人类认为看起来不错的像素/帧必须有一些限制。我在哪里可以找到这样的指南?


为什么我想知道这个?

我制作了一个窗口切换应用程序,它可以制作一些很酷的动画,但问题是当我不运行任何图形密集型应用程序时,我的图形卡会进入某种低功耗模式。这会导致我的应用程序(一次运行时间不超过 3 秒)性能很差,因为 gfx 卡从来没有时间加速。

(如果你有笔记本电脑和vista,你可以自己试试这个:按win+tab,你会看到动画有点断断续续,然后开始播放电影,再次按win+tab,这次动画更流畅)。

4

2 回答 2

1

如果动作很小,您应该能够以 15 fps 左右的速度获得外观合理的动画。意识到将高带宽图形信息(大量运动和形状/颜色变化)拟合到低带宽介质(低 fps)中存在限制,但运动模糊等技术会有所帮助。

此外,考虑双缓冲或三缓冲,理想情况下与显示器的垂直刷新同步,这将有助于减少可能分散动画注意力的闪烁和撕裂。

于 2009-02-25T13:02:15.690 回答
0

如果您的动画是纯二维的(例如,窗口内容的刚性移动),那么您可以通过将它们像素锁定到视频帧来提高它们的平滑度。即使在非常低的帧速率下,每帧恰好 N 个像素的运动看起来也很平滑,而如果您有一个像素的一些剩余部分,您会从像素采样中获得明显的混叠。

运动模糊理论上是使运动看起来平滑的方法,但适当的运动模糊很昂贵,所以如果您已经遇到帧率问题,那么运动模糊可能只会让事情变得更糟。但是可能有一些方法可以降低成本,例如,如果运动方向和速度恒定,那么您可以渲染单个模糊图像并使用它。或者可能多次过度绘制运动图像的部分透明副本以获得“轨迹”。

于 2009-02-25T13:13:27.330 回答