
战地2创建一个新阵营-Max.doc
22页为 BF2 创建一个新阵营-MAX 版这篇教程将涵盖创建一个新阵营,并且在游戏里实现其功能所必需的所有步骤这是一篇高级教程,应当在你已经熟悉 BF2 修改和 Editor 使用后再尝试学习过程并不是很复杂,但步骤比较繁琐,而且只要漏掉一步,或是有一步做错,就会造成不可预知的结果,或引起游戏崩溃....请你一定要耐心,并不断检查你所做的每一步是否正确设置1、打开教程文件夹,找到 Blank_Soldier.max 文件,把它复制到“…\Rawdata\Animation\Blank_Soldier.max”路径下这里我们假设你已经创建了一个玩家模型,并且已经完成了贴图工作模型应该包含 3 个mesh: body(身体),head(头部),hand(手)注意两只手应该合并到一起,作为一个 mesh在本教程中,我们要做一个“轻甲兵”重甲兵”的制作步骤与此相同,只是要在必要的地方把“light”替换成“heavy”而已身体和手的贴图尺寸应该是 1024x1024头部贴图尺寸是 512x256你也可以解压原版的Objects_client.zip 文件,然后参考它已有的贴图2、如果你没有创建人物模型,你只需要使用这篇教程附带的文件即可。
下载后,把 My_Team 文件夹放在“…\bf2editor\RawData\Objects\soldiers\My_Team”目录下,为这个目录创建一些必要的文件夹,随后我们还会涉及其他的教程文件复核你的贴图文件和路径:我们要做的第一件事是确认你的贴图设置正确,并且所有东西都在正确的目录下3、你的工作文件的路径应该是类似于:C:\\Program Files\EA Games\Battlefield 2\ bf2editor\RawData\Objects\soldiers\My_Team4、My_Team 文件夹中应该是 textures 文件夹:注意你应该给身体和头部准备 “颜色贴图”和“法线贴图”,法线贴图用于表现细节部分,比如衣服上的褶皱神马的...5、打开你的工作文件,如果你用的是教程文件,就应该是 “My_Team_Light_Work.max”.我在原文件名的后面加了个 “_Work”后缀,用来标记这是我们的原文件这样一来它就不会跟我们的最终版本搞混你也应该为你自己的文件加上类似的后缀6、确认你用的是 BF2 BundledMesh cgFX 着色器,并且“颜色”和“法线”通道已经设置正确。
MAX 没有 SkinnedMesh cgfx 着色器,导出工具会在导出时纠正这个问题):记住有两种材质:一个是身体和手用的,同时用于第三人称和第一人称视角另一个是给头用的装配文件我们要做的第一件事是把所有 mesh 合并到有骨骼的文件里7、打开我们先前放进“…\Rawdata\Animation\”文件夹里的“Blank_Soldier.max”你现在应该已经有一个第三人称视角的摆着经典的“达芬奇姿势”的骨骼,和一个第一人称的摆着“端枪姿势”的骨骼:8、用主菜单里的 “文件> 合并”,选择我们先前看的“My_Team_Light_Work.max”文件9、在弹出的“选项”窗口中,点击“所有”按钮,然后点击 “确定 ”按钮把玩家 mesh 合并到场景中的骨骼上:10、我们做其他工作之前,先保存你的场景为 “My_Team_Light_Soldier.max” 到 “…\RawData\Objects\soldiers\My_Team\”中这很重要,这样你就不会改写原文件了,因为原文件待会儿你可能还会用到它测试玩家 mesh拿出一点时间,测试一下玩家 mesh 与骨骼的连结情况如果你用你自己的 mesh,你应该打开教程里的那个做个参考)。
注意 3p 模型和 1p 模型的手的骨骼是不一样的:3p 模型的骨骼,只有 3 个手指,拇指和食指是单独的,剩下的手指全部蒙皮到小指上在 1p 模型的骨骼,每个手指都有自己单独的骨骼使用你自己的 mesh 时,确认你的零件名字跟教程文件里的一样过会我们重新检查一遍.body__Soldier:这是 3P 视角的身体模型注意 “__Soldier”后缀前面是“两个”下划线,Soldier 的首字母是大写名字一定要写对!!!handsMesh:这是 3P 视角的手部模型注意双手是用的同一个 mesh 的零件名字任意,当然,最好是符合命名习惯headMesh:这是 3P 视角的头部模型名字不能是“head”,其余随便起,因为“head”是一个骨骼的名字(避免重名),如果有重名的话,导出器就会混淆重申一遍:最好是起个符合命名习惯的名字right_arm__Soldier:这是 1P 视角的右手它又用“__Soldier” 作为后缀,注意一定写对,否则导出器不能正常导出了left_arm:1P 视角的左手名字要求不严格,但和其他零件一样,最好用个符合命名习惯的名字注意:1P 模型的两只胳膊可以用 3P 模型的 mesh 复制制作。
删除一些不必要的面,然后整形一下,以便符合 1P 模型的骨骼你可能要调整胳膊或手的特定零件的大小,因为 1P 模型的摄像机视角跟 3P 的摄像机视角不一样还要注意,每只胳膊要把胳膊和手合并到一个 mesh 里这对稍后的蒙皮操作十分重要!!蒙皮把玩家 mesh 融合到骨骼场景中后,就要开始蒙皮了11、选中 3p 身体的 mesh,并选择 “修改器>动画> 蒙皮”:12、确认身体 mesh 保持选中状态,在修改器展卷栏中,点击参数部分的“添加”按钮.13、在“选择骨骼”弹出菜单中,点击右下方的“选择设置”下拉菜单,并选中 “BodySet”:这样就能把正确的骨骼自动添加到身体 mesh 上14、对剩下的 mesh 重复 11-13 步,包括 1 人称和 3 人称视角 对每个零件都有一个选择集, “LeftArmSet” 和 “RightArmSet” 是 1 人称 mesh 的,其余的是 3 人称 mesh 的刷权重 (这是 3dmax 的基本使用,不是导出教程应该教的东西,因此原作者略过了---------译者语)现在蒙皮已经完成,我们要开始刷权重了刷权重的方法不在本教程的教学目标内。
有很多不同的技巧,你应该选一种最适合的调节权重,有两条基本规则:每个 mesh 最多指派 26 个骨骼.每个顶点最多指派 2 个骨骼.注意:你不需要完美的刷权重,最好是等我们在游戏或 editor 里看到模型正常工作之后,再回来改改小毛病附加的 LOD’s注意:这是一个可选步骤,你可以等到能成功导出模型后再做如果你找到想添加附加 LOD 的地方,参考以下步骤 :15、创建你的附加 mesh,并作以下命名 :lod1_bodylod2_bodylod1_headlod2_headlod1_hands完整的 3 个 LODs . 最先蒙皮的那个 mesh 是 lod0.注意有个 lod1_hands,但没有 lod2_hands这是因为如果距离远了,你就看不到手了,这个 lod 没必要16、创建了附加 LODs 后,把它们按照与其他 mesh 同样的方法蒙皮如果你想添加教程文件里的LODs,从 “My_Team_LODs.max” 里提取出来合并进你的场景文件中即可:注意我在这里创建了一些看起来很蛋疼的 mesh因为这只是个测试文件,只要能看到不同距离上 LODs的切换就行了.还要注意,1P 模型没有附加 LODs,因为我们只能从不动的摄像机上看到固定距离上的它们...设置层级“Blank_Soldier.max” 文件已经做好了大部分的层级设定,用于正确导出。
我们唯一要做的事是把mesh 添加上去:17、从主菜单的 “图表编辑器> 新建图表视图…” 打开一个图解视图.18、在图解视图中,选择“编辑>连接” (或点击“连接”图标).19、把手和头的 mesh 连接到 “body__Soldier” 上20、把 “body__Soldier” 连接到层级顶端的 “lod0”节点上重要: 层级列表中有两个 lod0.这一步操作,你要用的是 geom1 下面的那个,完成后应该如下图所示:注意在场景中,我已经切换图解视图到层级模式,而不是默认模式你的图解视图可能看起来有点不一样21、向下拖滚动条,找到 geom0 节点,下面应该就是第二个 lod0 节点.22、再次使用连接工具,把 “left_arm” 和 “right_arm_Soldier” 零件连接到 lod0 下:注意,geom0 总是包含 1P 视角的 mesh,而 geom1 包含的是 3P 视角的东西添加附加 LODs注意: 这几步是可选的,并且只有在你已经对附加 LODs 进行过蒙皮之后才可能用到要把 LODs 添加到层级中,我们需要制作更多的 lod 节点23、关闭图解视图窗口,或是把它挪开,我们现在看网格的原点.24、在屏幕右侧的“创建”选项卡中,选择“帮助”图标 (看起来像个卷尺一样的东西)25、在“物体类型”下面,单击 “虚拟物体”按钮.26、点击原点周围的网格,按住鼠标左键,稍稍往外拖动,创建一个虚拟物体。
它看起来像个方块,实际大小无关紧要只要让它跟其他东西的大小差不多就行了27、保持虚拟物体选中状态,改名为 lod128、最后,在取消选中之前,在“选择并移动”图标上右击,打开“移动变换输入”窗口,并把所有数字填成 0下图是以上步骤的参考:29、重复 23-28 步,制作其他的虚拟节点这次起名叫 lod230、用先前的链接方法,把“lod1_body”, “lod1_head”, 和 “lod1_hands” 连接到 “lod1”.31、同样的方法,把 “lod2_body” 和“lod2_head”连到 “lod2”下.32、最后连接“lod1” 和“lod2”到“geom1”下你的 geom1 层级至此完成,如下:记得你需要对附加的 lod 进行与原模型同样的蒙皮操作导出士兵我们现在已经完成了士兵场景文件,以下几步是导出方法33、再次保存你的工作,我们可不想丢失任何我们所做的工作34、选择 “BF2>BF2 Exporter”35、在 BF2 导出器窗口,点击 “Run Setup” 按钮36、在 BF2 Tools Setup Wizard 窗口,确保输出路径设置正确,点击 “Finish Setup” 回到导出器窗口。
37、在导出器窗口,设置对象主文件夹路径到 “/soldiers/My_Team”如果需要的话,改一下阵营的名字38、设置“对象名称” 为 “My_Team_Light_Soldier”再次,如果需要的话就改一下阵营名.39、保持导出器窗口打开状态,选择层级中的根节点我建议用“按名称选择”窗口40、保持根节点选中状态,点击 “Export Object”按钮在下面的截图中,我已经把所有的设置窗口组合到一起了用这个做参考注意在你向导出器窗口输入阵营名的时候它会附加到 root_skinnedMesh 节点上不要对此困惑:布置导出文件和设置你现在已经导出了你的新阵营,但在我们可以使用它之前,我们需要先进行一些文件管理和编辑41、打开 “…\RawData\Objects\soldiers\My_Team” 文件夹,并复制“textures”文件夹到 “…\mods\MyMod\Objects\Soldiers\My_Team”我们需要手工做这一步,因为导出器不会做:42、找到教程里的“us_light_soldier.tweak”文件,并把它复制到 “…\mods\MyMod\Objects\Soldiers\My_Team”中。
这个文件来自于零售版游戏的Objects_Client.zip,而且要记得去。
