《战争之人:突击小队2》模型导入教程
参考:https://www.moddb.com/games/men-of-war-assault-squad-2/tutorials/vehicle-model-porting-tutorial-basic
本教程所有素材均存在 小莫网盘
前置插件
Multi Script 3.0我使用报错,没办法,只能使用至柔酱帮我找的2.7了,
安装插件
3ds max 2016 安装一直下一步即可;
Multi Script:
将下载的MultiScript_v2.7
文件夹放入C:\Program Files\Autodesk\3ds Max 2016\scripts
文件夹中
官方导出工具:
将EclipseMtl64.dle
和GemExport64.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)
调整轮胎
选中我们的轮胎,选择层次
,仅影响轴
,
依次选择居中到对象
->对其到世界
可以将多余的内容隐藏以免打扰到我们选中轮胎,不过导出的时候记得显示回来
然后单独调整轮胎的转向,
这里说一下,游戏中车辆前进时,是以蓝色轴
为中心,逆时针
旋转的,我们手动旋转一下,
让蓝色轴
朝车辆的左边
就对了
然后就差不多了
调整方向盘
其实这个玩意也无所谓了。。。
但强迫症还是整一下,将坐标轴居中到对象
->对其到世界
。
然后和轮胎一样调整方向即可
至此,一全部完成,所有素材均存在小莫网盘