这是一份关于在Blender中使FBX骨架正常工作的小型指南,适用于飞行员、可弯曲舰船和步行机甲。 开始使用 《战区:战斗指挥官》采用的骨架系统与XSI的工作方式非常接近,同时使用了新的FBX格式。编写本指南是为了展示一种基本方法,不仅介绍Blender的骨架和父子关系如何运作,还说明如何将它们导入BZCC,前提是游戏不会排斥Blender制作的FBX文件。本指南假设你至少为原版BZ2或BZCC制作过一次舰船模型。 第一步,导入你的模型。第二步,创建一个空物体。

这是你的根节点。没有它,CC会拒绝一切,什么都不会加载,而这就是用来“绕过”该规则的方法。将其位置设置为XYZ轴的0,0,0。如果3D光标已在该位置,此操作可自动完成。如果不在,空物体将生成在3D光标的位置。你可以通过点击栏下方的位置设置器或顶部的工具箱来修正位置。接下来,导入所有模型和部件,并将它们全部父级化到空物体上,方法是右键点击所有要作为子级的道具,然后选择最后一个要选择的父级部件,按下CTRL+P。选择保持偏移(除非你知道自己在做什么)。正确完成父级化后,在大纲视图中会显示为这样:

当你在此处时,点击眼睑按钮以处理你的灯光、相机和不需要的物品(或选中它们并按H键)。如果包含这些内容,游戏可能会崩溃。如果它们被隐藏,在导出时会被排除。将它们设为不可选中也可行,因为程序无法选中它们。 骨架 接下来添加一个骨架。其创建规则与空物体相同,因此除非你已将光标设置在所需位置,否则请将其设置为0 0 0,然后从那里放置/定位。如果你需要将光标放在道具内部以在那里设置骨骼,可以使用工具箱(T键)上提供的滑块来移动它。

X轴控制左右方向。Y轴控制前后方向。Z轴控制上下方向。 接下来是耗时但重要的步骤:顶点分组。对需要骨骼驱动变形的模型进入编辑模式,操作如下。你可以按TAB键在物体模式和编辑模式之间按需切换。

现在你可以选择模型的顶点、线条和面(选择取决于你,但我发现面是最容易的)。接下来在属性选项卡中,进入模型的顶点属性。再次确认这是针对所选模型的操作。这些信息对于非《战斗区域:战斗指挥官》的建模也有帮助。按住Shift键并右键点击,选择所有你想要分组的面,这些面将随骨骼弯曲。按住Ctrl+Shift+右键点击也可能有帮助。如果不小心选中了某个面,保持按住Shift键并取消选择它。选好后,避免在工作区右键点击,否则你将不得不重新选择所有面。如果发生这种情况,Ctrl+Z可能会节省你的时间。前往该区域,点击加号创建一个新组。双击名为“group”的新组,设置你自己的名称。当你确定了要为某个小组设置的区域后,点击【分配】。之后,你可以点击【选择】或【取消选择】(这些按钮位于【分配】按钮的右侧)来即时选择已分配的区域。这非常、非常有用。以下是相关截图:

对所有需要操作骨骼的部分执行此操作。接下来,点击修改器选项卡,为模型添加一个新的修改器,命名为“骨架”。目前它还不会有任何作用,所以我们先不管它。

骨骼 接下来是骨骼部分。虽然繁琐,但必不可少。使用你的3D光标及其位置。如果你已经创建了骨架,将其移动到0 0 0坐标处。将骨骼放置在任意位置,准备好后,像处理模型那样切换到【编辑模式】。创建更多骨骼时,使用Shift+A添加。如果不在编辑模式下,会弹出一个创建物体的选项卡。为避免创建两个完全独立的物体,请不要这样做。这部分操作需要精确,骨骼必须处于【精确位置】。

这是骨骼原点的位置。该部分是骨骼的头部。 这是弯曲发生的确切位置。将你创建的所有骨骼的原点放置在它们所需的位置。接下来,你需要给骨骼命名,名称必须与它将要操控的组完全相同,不允许有任何细微的差异。通过在中心创建一根单独的骨骼(例如人体的腰部)来确定你的核心点。这是你的父骨骼。分配父子层级关系,不进行连接(例如:手部父级为手臂,手臂父级为肩膀,肩膀父级为躯干——你懂的)。不连接骨骼只是我喜欢的做法。如果需要,你也可以进行连接。完成后,你的模型可能会看起来像这样(对于类人模型而言)。必须有一个头部,并且头部也需要有对应的骨骼和顶点组。相信我。否则会使模型出现异常。此点及其他相关点在ODF中声明时会发生弯曲。 确保你已在【编辑模式】中添加骨骼并将其放置在所需位置,否则它们可能会在【姿态模式】中被意外摆出姿势,而该模式无法设置骨骼原点。 姿态设置 在《战斗区域:战斗指挥官》中,对于飞行员和载具而言,存在一个或多个炮塔部件。头部、颈部、手臂、脊柱等均是如此。这些都在ODF中定义。如果你制作过飞船,就会知道和飞船一样,飞行员模型也需要一个视点。创建一个骨骼并将其命名为【HP_EYEPOINT】,这就是你的视点。无需使用立方体之类的物体,因为它们无论如何都不会随头部移动。你可以添加武器点和装备点,但需遵循与【HP_EYEPOINT】相同的规则,将其设置为头部骨骼/旋转部件的子级。武器也可以绑定到骨骼上,但现在,让我们专注于让你的第一个骨架和模型正常工作。原点需要位于合理的位置。这里有一个例子。手部骨骼并非位于手掌中央,而是定位在手腕处。这样可以像正常人类手腕一样弯曲手部。你不能将原点放在手掌中央,否则手部会扭曲变形,变得怪异。因此,确保骨骼上的原点处于合理位置。接下来,进入属性面板,点击回到我们之前所在的修改器选项卡。将此模型设置为由你正在制作的骨架进行弯曲。从编辑模式切换到【姿态模式】。点击任意骨骼并随意移动,确保只保留你需要的顶点、边和面,这样在移动手部时面部就不会出现拉伸。如果一切正常,就可以进行弯曲和摆姿势了。打开你的工具箱找到这个工具。

(忽略缩放。XSI无法利用缩放功能,战斗指挥官可能也不支持该功能。)以下是旋转方法。你可以使用这些功能在插槽上移动骨骼,而不是直接拖动骨骼。根据需要进行旋转和摆姿势。我将用红色大字写下接下来的部分。 不要将“W”设置为1.0以外的任何值。 否则会扭曲模型并拉伸其面(在游戏中。此问题不会在Blender中显现,因此任何错误都不会被指出,也不会在程序中直观显示。) “R”可以围绕枢轴旋转骨骼,但这也会改变W欧拉方向,因此在此也提醒你注意。 指南底部有更多示例以提供额外说明。 动画制作 接下来是动画制作部分。当你准备好后,看向屏幕底部。这里是你进行动画制作的区域。首先,你需要多少帧?通常32帧就足够了。将标有“end”的方框设置为32。现在你已分配了32帧的动画。这里没有示例,因为这需要你自己完成,但我会给出操作位置的截图。

以下内容为可选步骤。 如果你计划进行更多动画制作并希望实现无缝循环,强烈建议完成以下小步骤:点击文件,进入用户偏好设置,这将打开设置窗口。 进入编辑选项卡,找到【新建F曲线】的下拉菜单。点击插值方式并将其设置为“线性”。默认情况下,Blender会对接近结束的帧进行平滑处理,使其逐渐停止,而非在某一帧上瞬时停止,也就是动画开始后,接近结束时会减速直至停止。将插值方式设为线性后,此效果将被关闭,从而使动画制作更适合【BZCC】。这会确保当动画接近结束(例如第28帧左右)时,Blender不会让接近结束部分的所有内容减速停止,进而实现无缝循环。它能让你在接近结束时实现任何想要的效果。请注意:Blender 仍然会自动补全帧。如果你在第1帧将手臂完全伸展,在第32帧将手臂完全收至身体一侧,Blender 会自动使用中间所有未手动设置的帧,并创建平滑过渡。这样操作可以实现无缝循环,避免在接近结束时出现停顿。 当你摆好姿势后,按“I”键并点击“旋转”。这样,你在底部选择的帧就创建了一个姿势。如果想要删除该姿势,前往工具箱顶部,右键点击姿势(已设置的帧显示为黄色,Blender 自动过渡的帧显示为绿色,无关键帧动画的帧无颜色),然后点击“删除关键帧”。如果你点击“清除关键帧”,该部件/肢体/骨骼的全部32帧动画都将被删除。制作动画需要耐心。你可以按ALT+A来开始和停止播放。如果你的键盘有暂停音乐的按键,该按键也能激活和停止播放。 导出 接下来,完成所有操作后,将骨架设置为名为“hp_dummyroot”的空物体的子物体,同时包含所有模型部件和基础模型。然后进行导出和测试。如果出现错误,应该能够定位到问题所在。保持冷静,再次阅读或查看相关内容。这是可以解决的。此时你应该处于物体模式,并且已选中与模型相关的所有内容(包括空物体)。Blender只会导出你选中的内容。导出时不能处于姿态模式或编辑模式。你必须处于物体模式并选中所有内容。 现在开始导出。确保第一个表格完全按照此设置。否则,你的模型可能会损坏、拉伸、变得像星球一样大,甚至导致游戏崩溃。 几何选项卡中的所有内容都可以取消勾选。

在骨架选项卡中,所有选项都可以取消勾选。该选项卡中有两个下拉框,用于调整模型的轴。除非骨骼的旋转或变换出现问题,否则可以将其保持默认设置,这些下拉框可能有助于解决相关问题。目前保持默认即可,将下拉轴设置保留为默认值。 除顶部的复选框外,其他所有选项都可以取消勾选。 动画部分中,除“烘焙动画”外,其他所有选项都可以取消勾选。(这些选项可能会对模型产生影响,但在游戏中似乎不会显示,并且会增加文件大小。) 导出FBX文件。为Blender项目创建备份保存,这是值得的。对于步行机甲和后裔舰船,它们都需要多个FBX文件,分别用于前进、后退、变形、死亡、无人操控以及行走等动作。按相同方式进行导出,唯一的区别在于其自身的关键帧动画。如果所有FBX文件之间存在哪怕最细微的差异,都可能导致崩溃或无法加载。另请注意,除非所有部件都存在,否则模型可能无法进行动画处理。即使你有“_Skel”FBX文件,也可能无济于事。 附加信息 以下是针对像赛昂族舰船那样可弯曲舰船的更简便流程。首先,导入模型。创建一个骨架。调整骨架姿势,将模型及其部件以及骨架设置为空物体的子物体。按照你的喜好调整姿势并弯曲它们。这里有个关键点:舰船仅使用三个帧。在第一帧,为该帧设置关键帧,并将模型姿势调整为向左转向的样子。在第三帧,执行相同操作,但将其调整为向右转向。第二帧应保持不变。此帧是模型静止时的状态。你需要为3-6个不同的FBX文件制作动画,所有文件都遵循相同流程。其中一个用于飞船前进、后退或静止闲置的状态。所有这些都将使用3帧技巧。你可以将关键帧2设置为始终回到0,但这样会使飞船在每次转向前都必须回到0,看起来有点生硬…… 以下是一些小发现和额外帮助。 关于原点和旋转部分,这里有额外的截图和说明。 注意骨骼核心(Blender中称为“头部”),此处用红色标出,它不在手部中心。相反,这是将原点设置在手腕处,以便围绕该点旋转所有顶点、面和边。看看你自己的手,把它转一圈。你手腕周围的那部分就是个很好的例子。手腕以外的所有部分都是从手腕的关节处旋转的。

关于骨骼问题,我想指出,《战区:战斗指挥官》似乎没有考虑到骨骼尾部的位置,甚至可能根本没有对其进行计算或利用。另一点需要注意的是,当骨骼被设置为父子关系时,《战区:战斗指挥官》似乎并不关心它们是否相互连接。我上面展示的最终结果示例,就很好地说明了《战区:战斗指挥官》以一种奇怪的方式忽略骨骼尾部的情况。还有一点需要注意,Blender似乎不太兼容其他程序制作的FBX文件。这是Blender导入其他程序(根据十六进制编辑器提供的原始数据,这个文件来自Maya)制作的文件时的截图。Blender还会弹出一个全屏大小的错误日志,如截图所示,甚至无法从文件中提取出模型。有一个名为【Noesis】的程序,可以接收该FBX文件并以Blender能够解析的方式导出。不要图省事直接将其按原样导回《战斗区域:战斗指挥官》,否则游戏会崩溃或无法加载。 将模型导入为其他文件类型,例如全部保存为.OBJ或.DAE格式,也可能可行。遗憾的是,我尚未找到任何后门方法或使其正常工作的途径,因此导入其他程序创建的FBX可能会出现问题。你最好先尝试导入,若失败则使用【Noesis】。 问答 问:我的模型无法弯曲。A:模型只有在拥有相应的骨骼和顶点组时才会弯曲。此外,如果你将模型导入《战区:战斗指挥官》(BZCC)时没有姿势或动画,那么模型永远不会弯曲,因为你从未让Blender“确认”为该帧写入姿势。 Q:我的模型发生了拉伸,现在变得一团糟,无法辨认。 A:可能有多种原因。 1.第一页上的“EXPERIMENTAL! Apply Transform”(实验性!应用变换)是否被选中?(此处向上数第三张图片有该选项的截图) 2.你是否不小心将错误的多边形分配到了错误的顶点组? 3.模型的根骨骼是否也发生了扭曲? 4.确保模型上的所有顶点都已分配到顶点组。如果没有,无父级的顶点将永远不会移动,除非它们被设置了父级。 5.可能是你的模型权重问题。我也遇到过这种情况。在姿态模式下,选择所有骨骼,点击底部动画时间轴上方的标签,该标签应显示“编辑”“姿态”或“物体”。在该下拉菜单中,有三个独立的按钮。点击“权重绘制”。在左侧工具箱中,向下滚动并点击“全部归一化”。尝试再次导出。 问:我的载具视野不正常。 答:我太了解这个问题了。这是我在骨架页面调整轴时遇到的情况。尝试将主坐标轴设置为Y轴,次坐标轴设置为Z轴。如果你能正常上下看,但视野与前方呈90度侧向偏差,退出并在姿态模式下将视点旋转1或-1,具体取决于实际情况。 问:其他问题 答:我会尽力提供帮助。最后的话 我成功解决了这个问题,感觉很棒!我没有麻烦其他人寻求帮助!虽然我对Blender的导入导出功能以及FBX格式并非完全了解,但我对Blender有足够的认识,也知道这个骨架技巧的运作方式。或许这能帮助你更深入地了解Blender。它在Steam上是免费的。如果你在尝试过程中气得想砸键盘,像我之前多次做的那样通过“运行”窗口启动《战区:战斗指挥官》,请不要放弃。休息一下,再回来耐心尝试。如果你仍然遇到问题,我可以尝试提供帮助。 特别感谢那些帮助我并给予我动力的人!~ 这可能会发生变化。很有可能。也许吧。




换一换 



















