《命令与征服之红色警戒3》MOD进阶教程:制作加入新的模型
游侠会员:ravage(原创撰写)
说明:本教程只涉及修改海啸坦克的3D模型,其他的MOD制作,使用等问题请参见本区其他教程,3DSMAX的使用等问题请翻书 。本教程假设你已安装了RA3并升级到1.10,已安装RA3 MOD SDK并可使用。
首先我们打开官方艺术包里的海啸坦克素材:
\EmpireArtSourcePack\Japan Tsunami Tank\JUAntiVehicleVehicleTech1.max
这一步虽然不是必须,但对初学者而言却可以帮助他们理解模型应该做多大,应该朝向哪个方向,而且还有一些现成的资源可使用。
全选所有的物体,然后将它们平移一段距离,以防影响我们的模型。
新建一个长方体,大小与原本海啸坦克的车体相近,命名为chassic。
同样建立长方体两个,分别命名为turret(炮塔)和barrel(炮管)。用放缩和移动功能将它们布置为大致像是坦克的样子。
很简陋是不是?千里之行始于脚下,当你3DSMAX技术成熟后自然可以制作更复杂的模型,在这里我们只是用这个简单的模型做教程的演示。
全选这3个长方体,然后从程序右边的功能菜单第3项hierarchy面板里选择affect pivot only,然后分别点击align to world和center to object,使它们的旋转轴心位于自己的中心。
退出hierarchy面板,然后点击turret,试着将其旋转一下,发现barrel并没有跟着它旋转。所以我们要将坦克的各个部分LINK起来。
按ctrl+z退回到没有进行旋转的状态,然后选择barrel。然后选择海啸坦克所有的物体(即不包含chassic,turret,barrel),然后点击右键隐藏他们。
从工具栏里点中第三项的s-e-l-e-c-t a-n-d l-i-n-k,然后选择图示的s-e-l-e-c-t b-y n-a-m-e按钮。
从弹出的菜单里选择turret为母物体,然后点击LINK。
然后选择turret,以同样的方法将其LINK到chassic上去。
取消s-e-l-e-c-t a-n-d l-i-n-k,退出LINK状态,然后点击s-e-l-e-c-t b-y n-a-m-e按钮,选中下面选项中的display subtree,便可看到各个物体的LINK级别。
选择barrel,再次进入hierarchy面板里选择affect pivot only,然后将其旋转轴心移动到靠近turret的地方,这样以后炮管要抬起降低时就会以这里为轴心。
试着旋转一下,这时炮塔和炮管已经可以象真实中一样旋转了。
按ctrl+z退回到没有进行旋转的状态。接下来我们要给坦克赋予材质。按M键弹出材质编辑器面板。选择一个未使用的材质球,点击STANDARDMATERIAL旁的STANDARD按钮。
从弹出的选项里双击选择DIRECTX SHADER选项。
找到SDK里\3DSMax9_Plugin\Autodesk\3ds Max 9\maps\fx\RA3目录下的objectsjapan.fx文件,双击选择之。
现在材质设置面板已经变成这样。点击DIFFUSE TEXTURE旁的按钮,从弹出的窗口里找到\EmpireArtSourcePack\Japan Tsunami Tank\下的JUAntiVehicleVehicleTech1.tga,选择之。同样,NORMAL TEXTURE选择JUAntiVehicleVehicleTech1_NRM.tga,SPECULAR MAP选择JUAntiVehicleVehicleTech1_SPM.tga。
从主窗口里选中坦克的3个模型,在材质编辑器面板里点击A-S-S-I-G-N M-A-T-E-R-I-A-L T-O S-E-L-E-C-T-I-O-N
这样就把材质赋予了坦克。这时由于没有设置UV坐标,坦克只是简单的使用了贴图而已。如何设置UV坐标?找本MAX的书来啃吧...
接下来我们要设置模型的开火点。右键选择取消隐藏所有物体。然后选择海啸坦克自带的FX_WeaponA骨骼。
点击U-N-L-I-N-K S-E-L-E-C-T-I-O-N,使其与原来的母物体分离。
将其移动到barrel的位置。
然后按照前面的方法将其LINK到barrel上。
此外我们还要设置模型的OBBOX。单有现在的模型,在游戏中是无法点击单位的。选择OBBox01,将其移动和缩放到大致和新坦克相近的位置和大小。然后隐藏或删除剩余的海啸的物体,以免影响新坦克。
最后要导出为游戏所使用的格式。从MAX的FILE菜单里选EXPORT。
在SDK的\Art目录下新建一个XU目录。
在文件名选项里输入XUNEWTANK,然后保存类型选择W3D XML ASSET。保存输出为W3X格式。
在接下来的窗口里取消EXPORT USING EXISTING SKELETON,因为这个示例坦克用不着。
输出完成后,在资源管理器的\RA3 MOD SDK\Art\xu目录里双击XUNEWTANK.W3X,便可在W3X VIEWER里看到输出结果。如果你没有把海啸坦克的其他素材拷贝到SDK目录的话,那么是看不到贴图的。但是不用担心,游戏里会自动找到并使用已经存在的同名素材。
从\RA3 MOD SDK\SageXml\Japan\Units目录里拷贝JapanAntiVehicleVehicleTech1.xml到\RA3 MOD SDK\Mods\samplemod\data目录下,并右键点击属性取消其只读属性。
打开JapanAntiVehicleVehicleTech1.xml,在<Includes>下加入
<Include
type="all"
source="ART:xunewtank.W3X" />
以使用xunewtank.W3X。下面引用的其他原始素材都可以删除掉,除了BaseVehicle.xml以外。
接下来在含有ParseCondStateType="PARSE_DEFAULT"的代码段中找到 <Model,将Name=的内容改为xunewtank。然后将下面TurretNameKey=的内容改为Turret。然后下面无关的模型和动画代码可以删除。
打开Mod.xml,加入
<Include type="all" source="DATA:SampleMod/Data/JapanAntiVehicleVehicleTech1.xml"/>
其他无关的引用内容可以删除,因为我们这里只是修改海啸坦克的模型而已。
启动EALAModStudio.exe,编译samplemod。
进入游戏,海啸坦克的模型已经变成我们所新制作的坦克模型了。