【问题标题】:Creating nice animations with low framerate用低帧率创建漂亮的动画
【发布时间】:2010-10-09 19:26:31
【问题描述】:

好的,这听起来可能是个愚蠢的问题,但我想知道当您知道帧速率较低时,是否有任何建议可以让您尽可能流畅、快速地为对象设置动画。

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

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

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

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


我为什么想知道这个?

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

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

【问题讨论】:

    标签: graphics animation 2d


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 感谢关于运动模糊的提示,从没想过。 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 2013-05-25
      • 1970-01-01
      • 2014-10-12
      • 2013-02-09
      • 2012-07-20
      相关资源
      最近更新 更多