1、命令与征服之红色警戒3 mod进阶教程:制作加入新的模型

2、命令与征服之红色警戒3 mod 初级教程翻译
一、命令与征服之红色警戒3 mod进阶教程:制作加入新的模型说明:本教程只涉及修改海啸坦克的3D模型,其他的MOD制作,使用等问题请参见本区其他教程,3DSMAX的使用等问题请翻书 。本教程假设你已安装了RA3并升级到1.10,已安装RA3 MOD SDK并可使用。
首先我们打开官方艺术包里的海啸坦克素材:
EmpireArtSourcePackJapan Tsunami TankJUAntiVehicleVehicleTech1.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_PluginAutodesk3ds Max 9mapsfxRA3目录下的objectsjapan.fx文件,双击选择之。
现在材质设置面板已经变成这样。点击DIFFUSE TEXTURE旁的按钮,从弹出的窗口里找到EmpireArtSourcePackJapan 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 SDKArtxu目录里双击XUNEWTANK.W3X,便可在W3X VIEWER里看到输出结果。如果你没有把海啸坦克的其他素材拷贝到SDK目录的话,那么是看不到贴图的。但是不用担心,游戏里会自动找到并使用已经存在的同名素材。
从RA3 MOD SDKSageXmlJapanUnits目录里拷贝JapanAntiVehicleVehicleTech1.xml到RA3 MOD SDKModssamplemoddata目录下,并右键点击属性取消其只读属性。
打开JapanAntiVehicleVehicleTech1.xml,在下加入
source="ART:xunewtank.W3X" />
以使用xunewtank.W3X。下面引用的其他原始素材都可以删除掉,除了BaseVehicle.xml以外。
接下来在含有ParseCondStateType="PARSE_DEFAULT"的代码段中找到
打开Mod.xml,加入
其他无关的引用内容可以删除,因为我们这里只是修改海啸坦克的模型而已。
启动EALAModStudio.exe,编译samplemod。
进入游戏,海啸坦克的模型已经变成我们所新制作的坦克模型了。SNAG-0025
二、命令与征服之红色警戒3 mod 初级教程翻译
Starting Off 启程
本教学将指导你来如何制作一个MOD,以及如何使用RA3 MOD SDK。
首先你要下载RA3 MOD SDK。
确认你的SDK的安装路径
打开SDK的安装文件夹,双击mods文件,可以看到里面有一个samplemod文件夹,别管他。
创建一个新的文件夹,名字是mymod,然后再mymod里在创建一个文件夹,名字是data。
Modding your first unit 修改你的第一个单位
首先返回RA3 Mod SDK文件夹,打开SageXml/Allied文件夹,复制单位文件AlliedAntiVehicleVehicleTech1,把这个文件粘贴到你的mymod/data里,右键设置取消其只读属性。
然后把这个文件重名名为mytank。
好了,现在用写字板(windows自带的就可以)打开这个文件,将滚动条拉至下列文本处。
inheritFrom=”BaseVehicle”
SelectPortrait=”Portrait_AlliedAntiVehicleVehicleTech1″
ButtonImage=”Button_AlliedAntiVehicleVehicleTech1_on”
Side=”Allies”
SubGroupPriority=”425″
EditorSorting=”UNIT”
HealthBoxHeightOffset=”25″
BuildTime=”10″
CommandSet=”AlliedAntiVehicleVehicleTech1CommandSet”
KindOf=”SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_BE_FAVORITE_UNIT T2_UNIT”
WeaponCategory=”CANNON”
VoicePriority=”188″
EditorName=”AlliedAntiVehicleVehicleTech1”
Description=”Desc:AlliedAntiVehicleVehicleTech1”
TypeDescription=”Type:AlliedAntiVehicleVehicleTech1”
UnitIntro=”Allied_GuardianTank_UnitIntro”>
把下划线的文本全部改为mytank
我们还需要两个附加文件,返回RA3 Mod SDK文件夹,打开SageXml/GlobalData文件夹,复制LogicCommand 和 LogicCommandSet这两个文件到mymod/data文件夹中,同样取消其只读属性。
打开LogicCommand并把下列文本粘贴进去。当然,你贴到哪里是你的自由,但是,为了组织性,把它粘贴到另外一个单位的build内容的下面吧。
id=”Command_Constructmytank”>
mytank
保存,然后打开LogicCommandSet,把滚动条拉到Allied warfactory commandse处,你可以看到如下的内容,加上下划线的内容
Command_ConstructAlliedMiner
Command_ConstructAlliedAntiInfantryVehicle_Ground
Command_ConstructAlliedAntiAirVehicleTech1
Command_ConstructAlliedAntiVehicleVehicleTech1
Command_Constructmytank
Command_ConstructAlliedAntiStructureVehicle
Command_ConstructAlliedAntiVehicleVehicleTech3
Command_ConstructAlliedMCV
Command_UpgradeAlliedWarFactoryRepairBay
–>
在warfactory的logiccommandset下面添加以下内容:
Command_ToggleTargetPainter
Command_AttackMove
Command_MoveToPositionAndCollect
(贴到
Command_ConstructAlliedMiner
Command_ConstructAlliedAntiInfantryVehicle_Ground
Command_ConstructAlliedAntiAirVehicleTech1
Command_ConstructAlliedAntiVehicleVehicleTech1
Command_ConstructAlliedAntiStructureVehicle
Command_ConstructAlliedAntiVehicleVehicleTech3
Command_ConstructAlliedMCV
和
Command_UnPackAlliedMCV
Command_MoveToPositionAndCollect
中间吧 。在这里。每两个之间就是一个单位或建筑的内容。所以粘贴时要贴在两个单位的空白之处,不能贴在单位里面。)
同样修改完了以后保存。
Creating the mod.xml file 创建mod.xml文件
Mod.Xml文件告诉游戏引擎把那个文件添加到游戏中,因此每个mod都需要这个文件。打开mods/samplemod文件夹,复制mod.xml文件到mymod/data中,然后删除中间的所有信息,使其看起来像下面的非下划线部分一样,然后把下划线的部分粘贴到下面所示的位置(最上面那个网址不算)。(即要让你的mod.xml的内容如下所示)
mod.xml is the central include for mod setup data.
–>
保存mod.xml文件。
Creating the mod.str file 创建 mod.str文件
mod.str文件用来告知游戏引擎单位的名称,你也可以为单位写一段简单的描述(应该是单位制造界面上的单位说明),并指定其类型。从samplemod粘贴mod.str到mymod/data文件夹中。用写字板打开你可以看到如下的内容:
Name:AlliedGunshipAircraft
“Harbinger Gunship”
END
Desc:AlliedGunshipAircraft
“Kills stuff with protons”(1)
END
Type:AlliedGunshipAircraft
“DON’T CROSS THE STREAMS”(2)
END
把下划线的部分改为 mytank ,(1)与(2)的引号中的部分可以随意写,游戏中可以在单位制造说明中看到你所写的内容。
现在剩下的就只有build你的mod了
要Build 你的mod的话,用EA提供的工具就可以自动build,打开EALAModStudio.exe(RA3 MOD SDK 根目录下就有),在左上方的列表里选择你的mod的名字,然后把下面的选项全选上(copy str file 可选) ,然后再game version 下面输入1.10(根据不同的ra3版本号),然后点 build mod 即可,右边的build log会显示输出一系列编译信息,不管它,等待一段时间,直到出现绿色的build completed提示,这时,你的mod就可以使用了,你可以在RA3的控制面板的mod选项中看到它。