跳转到内容

使用 XNA/骨骼和动画创建简单的 3D 游戏

来自维基教科书,开放的世界,开放的书籍

创建骨骼

[编辑 | 编辑源代码]

为了在 Blender 中创建 3D 动画,第一步是为您的模型创建骨骼,或多或少是一个骨骼结构。创建骨骼将允许您为骨骼之间的运动设置动画,然后这些运动将移动连接到它们的顶点。本教程将介绍制作和移动在之前的教程中制作的鱼的骨骼集的过程。

首先,将您的光标移动到身体内部的尾鳍尖端(最简单的方法是选择末端的顶点,按下空格键,然后选择“变换”/“捕捉”/“光标到选择”),然后进入对象模式,按下空格键,选择“添加”/“骨骼”,添加一个新的骨骼。这将根据当前相机位置创建一个单根骨骼。

将此骨骼旋转 90 度,使其沿着鱼的身体移动。这些教程之前讨论过的模型的大部分操作(旋转、缩放、拉伸等)在这里都会有效。选择骨骼并进入编辑模式。选择连接到三角形最薄部分的圆圈并按“E”,将现在已旋转的骨骼拉伸到侧鳍。沿着移动,直到它大约到达中间。

使用此技术,创建沿着背鳍和侧鳍延伸的骨骼,并创建一根平行于身体其余部分的骨骼。

要完成骨骼结构,请在最靠近脸部的末端创建两根骨骼,每根骨骼都与嘴巴平行,大约与嘴巴每端的长度相同。然后只选择这两个新骨骼,并按“Alt-P”。这将允许您将骨骼与父级断开连接,因此现在可以将它们稍微向下移动以匹配嘴巴的位置,如下所示,同时仍然是原始骨骼的一部分。

最后,使用以下过程将骨骼连接到模型。选择每个模型,然后以与您设置子曲面修改器相同的方式,添加一个骨骼修改器。输入您的骨骼的名称(在选择骨骼后显示在左下角),并确保取消选中“包络”选项,并选中“顶点组”。这改变了骨骼影响模型的方式,但对于本教程的其余部分,我们需要使用“顶点组”。

在对象模式下选择骨骼,并进入姿势模式。稍后这将允许您移动骨骼并查看对模型的影响,但现在只需选择一根骨骼,然后返回对象模式并选择要连接到的模型。进入权重绘制模式,您应该会看到您选择的模型被蓝色包围,并且光标会变成一个小刷子。在此模式下,您可以“绘制”模型上要被该骨骼覆盖的部分。底部的各种选项可以更改以修改绘制方式,现在我建议您取消选中“柔软”按钮以加快过程。对与模型相关的所有骨骼执行此操作。要测试此效果并确保它正常工作,请重新进入姿势模式,并四处移动模型。

现在它已准备好进行一些动画。

动画化您的模型

[编辑 | 编辑源代码]

我们将创建的动画的基本原理是在动画帧的不同时间点(关键帧)上为骨骼设置不同的位置,然后让 Blender(以及后来的 XNA)计算这些时间点之间的位置。想象一下,这与导演电影类似,您会告诉演员要移动的位置,而不必担心他们采取的每一步。

像之前一样将屏幕分成两个窗口,并将左侧窗口置于“动作编辑器”模式。

现在,我们将从创建一个简单的游泳动画开始。

选择右侧窗口上的浏览选项按钮,选择添加新,并将其命名为“游泳”。

接下来,在姿势模式下移动骨骼,使其看起来像鱼的身体被扭曲,好像在游泳。我通过在 X 轴上以 10 度的交替方向移动最靠近头的骨骼和连接到尾巴的骨骼,并在 Z 轴上以 10 度移动鳍来实现这一点。然后选择所有为动画修改的骨骼,并按“I”并选择“旋转”。这将在项目第 1 帧创建旋转关键帧,您应该可以在左侧的动作编辑器上看到它。

通过单击动作编辑器上的第 5 帧,将动画向前移动 5 帧,并将刚刚移动的所有骨骼移至相反方向以创建运动的下一阶段。按“I”,并以相同的方式保存这些关键帧。

最后,要完成此动画,请执行与之前相同的过程,这应该将骨骼移回其原始位置(或者,您可以选择初始关键帧并通过按“Shift-D”来复制它们)。然后单击右侧窗口底部的“查看”,并选择“从动作长度预览范围”,这将把动画长度设置为第一个和最后一个关键帧之间的长度。在同一个菜单中选择“回放动画”,您应该会看到一条游泳的鱼。

接下来,按照类似的过程,并且在仍然选择“游泳”的情况下,选择“添加新”,修改连接到嘴巴的两个骨骼以形成一个一帧的“微笑”和“皱眉”动画(如果稍微拉伸这个词),这将在游戏后期开发中用于 XNA 游戏,当我们开始添加 NPC 时。

华夏公益教科书