【战争之人:突击小队2】Mod制作教程 之 车辆模型导入教程

作者: 小莫
更新时间: 2021-08-24 11:21:27

《战争之人:突击小队2》模型导入教程

参考:https://www.moddb.com/games/men-of-war-assault-squad-2/tutorials/vehicle-model-porting-tutorial-basic

博客地址:https://www.aoe.top/games/503

本教程所有素材均存在 [小莫网盘](https://pan.aoe.top/MakeMod/MenOfWarAssaultSquad2/%E6%A8%A1%E5%9E%8B/%E8%BD%A6 "小莫网盘")

前置插件

> Multi Script 3.0我使用报错,没办法,只能使用至柔酱帮我找的2.7了,

安装插件

3ds max 2016 安装一直下一步即可;

> Multi Script: 将下载的MultiScript_v2.7文件夹放入C:\Program Files\Autodesk\3ds Max 2016\scripts文件夹中


> 官方导出工具: 将EclipseMtl64.dleGemExport64.dle文件放入C:\Program Files\Autodesk\3ds Max 2016\plugins文件夹中

使用插件

简单说一下插件的使用方法 若需运行Multi Script插件,需从使用“脚本->运行脚本”中手动选择并启动脚本

导入模型

> 本次教程将导入一辆敞篷跑车 > 相关素材储存在 小莫网盘

打开3ds max,将我们自己的模型导入

这个模型非常的适合新手,相关的模块已经都分开了,右键对象属性我们查看当前选中的对象顶点数量

调整模型

就算它已经很完美,但我们依然需要对其进行调整, 来分析一下这个模型,整理一下需要做的事情,

  • 4个轮胎没有完全分开,轮毂却分开了,我们需要将其合并;
  • 车门没有分离,会导致上车时没有开门的动画,我们需要将其分开;
  • 还有一堆垃圾需要合并
  • 最后在给各个部件重新命名方便记忆

分离部件(对象)

若想编辑部件,我们需要先右键对象->转化为->可编辑多边形

然后, 1.顶部工具栏选择选择对象, 2.右侧修改器列表选中可编辑多边形, 3.下面选择元素,鼠标左键框选要分离的部件(选中状态为红色) 4.展开编辑几何体,使用分离,弹出对话框,输入分离后的部件名称,然后点击确定


合并部件(对象)

一样,先右键对象->转化为->可编辑多边形, 然后在选择修改器列表选中可编辑多边形,展开编辑几何体,使用附加, 左键点击要合并的对象,若有弹出,选择匹配材质ID到材质即可

调整后:

赋予对象ID

打开Multi Script插件(运行方法参考上面的使用插件),切换到car

1.在视图中选中对象, 2.在Multi Script选择对应的选项 3.会发现对象的名称发生了改变 4.右键对象属性->自定义 5.一样发现里面的内容发生改变

创建Basis并设置层级关系

创建Basis

选择脚本+ -> Basis 然后往下拉,找到Basis,

  • Vehide name: 载具名称
  • Type : 使用Game_Entity
  • Entity\#Path : 保存路径 若要自定义路径,需选则PATH后输入以entity开始的路径位置,结尾以\结束
  • 点击 Create Basis 创建Basis


设置层级关系

在上方工具栏中找图解视图

1.在图解视图的中的工具栏找到链接, 2.点击子对象,再点击父对象,就可以将设置透明的层级关系

> 注意: >- 需要将所有的模型全部放Basis下面, >- 层级关系这个需要自己去研究,有点难解释,


> 举个例子 >- 我的body是底盘车壳底盘上,所以将车壳作为底盘的子对象 >- 车门玻璃都在车壳上,所以车门玻璃都作为车门子对象 >- 轮胎底盘上,所以轮胎作为底盘的子对象

最终调整完之后是这个样子的

调整车辆方向

车辆的方向也蛮重要的,我们需要调整车辆的为正确的方向,

旋转车辆

1.将视图改改前视图, 2.选中Basis 3.注意,不要在左侧选中,而要在视图中选择,不然会选中全部,确保只选中了Basis 4.在工具栏中选择旋转工具(快捷键R) 5.旋转Z轴(可直接在下方输入),确保车头朝向右侧

对其坐标轴 1.右侧选择层次; 2.选择仅影响轴; 3.使用对其到世界; 4.确保红色的坐标轴朝向右侧;

首次导出

> 注意: > - 这个模型我在导出的时候出现报错,经过排查,发现,战争之人这款游戏的模型不支持环境光颜色贴图、凹凸贴图、反射贴图等其他贴图的配置,只支持漫反射颜色贴图,所以,如果发现模型中的材质中有这些贴图的选项,请将其移除再导出,不然会出现错误导致3ds max 崩溃, > - 素材中的车-改-设置层级关系后.max这个已经将材质中其他贴图移除,车-改.max这个文件还没有移除,你们可以自行对比一下,是没有太大区别的

点击左上角的图标,选择导出

名称随便,类型选择MDL

首次导出,在弹出的窗口中的Game reource path中设置我们自己Mod的resource文件所在目录,如F:/steam/steamapps/common/Men of War Assault Squad 2/mods/myCar/resource/,然后点击Export,会自动导出到我们之前在Basis中设置的位置

> Game reource path只需要设置一次就行了,之后会自动使用当前设置

导出之后我们进到游戏中,找到我们制作的车辆,若能正常在游戏中调用出来,且没有报错,那么恭喜你,距离成功就只差一步之遥了!

为模型添加碰撞体

载入到游戏中后,发现,车辆会被NPC无视,直接走不过去,也不会有任何互动相关的选项,这是因为我们还没有添加碰撞体,也没有添加触发器,也没有写任何交互配置,这玩意现在只是个空模型,装饰都算不上。

现在我们来为它添加碰撞体,让NPC能够将其作为掩体使用。

右侧选择创作(第一个),使用长方体圆环球体圆柱等基础控件,将车的一些轮廓框起来(不用也不能特别的细,框个大概就行了)

将我们创建的碰撞体选中,右键转化为->可编辑多边形

打开Multi Script脚本,找到碰撞体,给我们刚刚创建的几个碰撞体分配ID(注意,不能重名,若有相同的请在后方手动添加序号)

再将这些碰撞体放入对应的父级对象中

再次导出,重新进入游戏, 现在就可以作为掩体了

使载具可操控

现在,我们来让车辆可被NPC驾驶,

创建对象

在右侧选择创建->辅助对象->点

创建几个点,分别为 1个司机、1个乘客、2个上车点,然后使用Multi Script为其分配ID

然后将他们放到body的子级中去(这些点的层级其实无所谓)

写配置

光在模型中创建了点,还不够,我们还需要在redcar.def文件中写车辆的数据

数据可以直接抄游戏中车辆的数据,至于怎么写?我也不知道,Ctrl+C,Ctrl+V就完事了

{Game_Entity
    (include "/properties/car.ext")
    (include "/properties/selection/vehicle.inc"  scale(1.1))
    {mass 1380}
    {props "vehicle" "car" "wheeled" "turn_over" "vision_vehicle_high" "-tractor"}
    {PatherId "vehicle.small"}
    ("armor_light" args 1.0)

    ("wheel" args "wheelright1")
    ("wheel" args "wheelleft1")
    ("wheel" args "wheelright2")
    ("wheel" args "wheelleft2")

    ("crew_2_human")

    ("crew_human" place(seat1)    bone(seat01)    door(emit2) animation(passenger1))

    {placer
        {place "driver"       {group "crew"}}
        {place "Seat00"   {group "crew"}}
    }
    {Extension "redcar.mdl"}

    {Volume "body"}
    {Volume "glass"}
    {Volume "shield2"}
    {Volume "shield"}
    {Volume "wheelleft1"}
    {Volume "wheelleft2"}
    {Volume "wheelright1"}
    {Volume "wheelright2"}
}

重进游戏,我们的车辆终于可驾驶了(但却非常的鬼畜)

最后调整

现在,我们来整理一下现在的问题:

  • 车辆太大
  • 轮胎旋转姿势不正确
  • 方向盘转的不对劲

不要慌,一个个来解决


调整大小

选中Basis(和正确旋转一样),使用缩放(快捷键R),在下方输入数值调整缩放比例,反复在游戏中确认最终大小(经过我的调整,这个模型的适应大小比例为150.0)

调整轮胎

选中我们的轮胎,选择层次仅影响轴, 依次选择居中到对象->对其到世界

> 可以将多余的内容隐藏以免打扰到我们选中轮胎,不过导出的时候记得显示回来

然后单独调整轮胎的转向, 这里说一下,游戏中车辆前进时,是以蓝色轴为中心,逆时针旋转的,我们手动旋转一下,

蓝色轴车辆的左边就对了

然后就差不多了

调整方向盘

其实这个玩意也无所谓了。。。

但强迫症还是整一下,将坐标轴居中到对象->对其到世界。 然后和轮胎一样调整方向即可

至此,一全部完成,所有素材均存在[小莫网盘](https://pan.aoe.top/MakeMod/MenOfWarAssaultSquad2/%E6%A8%A1%E5%9E%8B/%E8%BD%A6/ "小莫网盘")

标签