1

我想要实现的最好的例子就是这个 youtube 视频

http://www.youtube.com/watch?v=53Tk-oGL2Uo

组成“Atari”这个词的字母从屏幕边缘飞入旋转,然后排列成最后的单词。

我知道如何让一个对象在屏幕上移动,但是我如何计算旋转,以便当对象到达其最终位置时它面向正确的方向?

4

2 回答 2

2

诀窍是让对象在特定时间(例如 t=5.0 秒)内实际处于正确位置,然后向后计算前一帧。

即在 5.0 秒之前,您将对象旋转[angular velocity] * (5.0 - t)并平移[velocity] * (5.0 - t)

如果你这样做,那么看起来物体会一起飞行并完美排列。但是您实际上所做的是将它们沿随机方向炸开并及时向后播放动画:-)

于 2012-05-17T14:00:29.407 回答
0

这样做的正确方法是使用关键帧。您可以在任何 3D 编辑器中创建关键帧(我使用 MAX,但您可以使用 Blender)。您不一定需要使用实际的字符,即使是长方体就足够了。然后,您将需要导出这些动画帧(同样,在 MAX 中我将使用 ASE - COLLADA将与 Blender 一起使用)并在运行时加载它们或将它们转换为代码。

然后根据当前时间运行该动画就很简单了。

这是我自己的库中的一个示例,它说明了这种技术。这样做一次会让你持续更长时间,从长远来看会给你带来更多的好处,而不是弄清楚如何在程序上做到这一点。

于 2012-05-17T14:11:15.317 回答