9512.net
甜梦文库
当前位置:首页 >> >>

绝命MOD修改 第1章 入门从绝命时刻开始



第一章

入门从绝命时刻开始

ZH 是 SAGE 引擎的一部巅峰之作,它几乎发挥出了 SAGE 引擎所有的潜力,虽然图 像处理效果确实还不够理想,不能和后来的 CNC3 相比,但论平台功能,它绝对是最丰富 的一个。当然还有最重要的一点,ZH 的代码是用我们习以为常的 INI 来编写的,条理非常 清晰是它的最大优点,这比 CNC3 杂乱无章

、看得让人头大的 XML 更人性化得多。因此我 们将从 ZH 开始入门,进行对 SAGE 引擎的研究。 首先我们有必要了解一下 ZH 的文件目录结构,搞清楚它的代码系统都是如何构成的, 方便日后之作 MOD 时能立刻找到合适的下手点。 打开 ZH 的安装目录,我们可以看到一些 BIG 文件压缩包,这些文件包和 RA2 时代的 MIX 有着异曲同工的作用,我们可以用 XCC MIXER 打开 INI.BIG,这是存放 ZH 所有规则 文件的压缩包, 把右侧列表定位到 ZH 的主目录, 然后在左边全选所有内容, 右键——复制, 不出 10 秒,所有内容都提取出来了。 或许你发现了,INI.BIG 里的内容并不是以往 MIX 包那样的纯文件,而是含有一定的路 径,例如“Data\INI\Armor.ini” ,这是因为 ZH 平台识别的规则文件不像 RA2 那样直接放在 在游戏主目录下,而是在 Data\INI 文件夹下。因此我们需要到这个文件夹下去找我们刚才 提取出来的所有 INI 文件。 如果你看见这个目录下有一大堆 INI 文件,千万别被吓傻,这就是 SAGE 引擎的特色 ——功能细分,整个游戏的重要规则需要很多个 INI 来定义并相互嵌套调用,而不像 RA2 那样用一个 RULES 来定义,自己内部调用。因此我们现在有必要认识清楚 ZH 的一些常用 且非常重要 INI 各是什么内容,都表达出了哪些定义信息。 (其余 INI 今后遇到了再讲解) 表 1.01 文件名 CommandButton CommandSet FXList Locomotor ObjectCreationList ParticleSystem Science SpecialPower Upgrade Weapon 关键 INI 的作用 作用简述 按钮定义:定义各种界面按钮的功能和相关说明字段及图标图像 界面布局: 定义各种物体的界面按钮布局, 需要调用 CommandButton 里定义的那些按钮 视觉效果列表:定义各种视觉特效的动画效果、声音、震动等元素, 例如核弹爆炸效果 运动系统:定义各种单位的移动模式,决定了该单位是走还是飞、速 度快还是慢、能去哪些区域 物体生成列表:定义各种 OCL 所生成的具体物体种类和数量(什么叫 OCL?后面会讲解) 粒子系统:3D 游戏里 95%的动画都是用粒子系统完成的,所以这是 SAGE 引擎的一大重点 将军技能:定义各种将军技能的学习前提及学习费用,是 ZH 的一大 特色 超级武器:定义各种特殊能力及超武的类型、倒记时、范围圈等信息, 和 TS 的原理相似 升级项目:定义各种升级项目的研发费用、消耗时间等信息 武器系统:定义各种武器的伤害值、打击范围、伤害类型、死亡类型 等信息,和 TS 的原理相似

从这个表可以看出,SAGE 和 TS 的差距是非常大的,所以有必要先转换自己的思维来 对待这个外表熟悉,但实际上却陌生的新引擎,千万不要用 TS 的旧思维去对待 SAGE、想 当然而行、认为只要向以前那样做就行。如果不能转换思维,就很容易走进一条死胡同,让 你成为又一个被 SAGE 吓倒的 MODER。 要转换自己的思维,首先必须要了解 SAGE 引擎的操作方式,而多玩 ZHMOD 或 CNC3MOD 是掌握它们的最佳途径。以下我列出了 SAGE 和 TS 的几大差别: 1、 建造方式: TS 的建造方式称为“宏观型” ,特点是不管你有几个工厂,所有这些工厂都关 联到同一个建造栏上,建造物体时只有被设置为“默认”的那个工厂在开工,其他 工厂处于空闲状态。宏观型的建造方式决定了 TS 系列平台将自动建立单位和工厂 之间的关联,你只需要制作好单位,这个单位的建造按钮就会被平台自动放置到建 造栏上。 SAGE 的建造方式称为“微观型” ,特点是各个工厂具有独立的建造栏,生产 物体时相互不干涉,可以同时开工建造各自的单位。微观型的建造方式决定了 SAGE 系列平台不会插手单位和工厂之间的关联,这个关联是需要你自己去编写 的,你不光要制作好单位,还必须要为对应的工厂添加生产这个单位的按钮,否则 这个工厂是没办法生产这个单位的。 2、 物体分类: TS 对物体的分类是“注册法” ,即将建筑、车辆、步兵、飞机等物体分类注册 以获得不同的基本属性。注册法决定了一个单位只能属于其中一种类型,要么是建 筑,就只能是建筑,不能即是建筑也是车辆,换言之,就是说不能获得所有你想要 的基本属性,这一点无疑是限制了 MOD 的构思范围。 SAGE 对物体的分类是“标签法” ,即笼而统之将建筑、车辆、步兵、飞机等 物体统称为 Object,换句话说,建筑其实就是不能移动的坦克,而坦克同时也可以 视为可以移动的房子。那么一个 Object 到底具有什么样的基本属性呢?这就是标 签法的意义,一个物体可以拥有多种标签,每种标签代表一种基本属性,因此一个 物体可以同时具有建筑、车辆、步兵、飞机的基本属性而成为一种全兼容的怪异单 位,使 MOD 构思可以无限制的扩宽。 3、 阵营结构: TS 的阵营结构称为“共享模式” ,这也是由于宏观型建造方式的一大特色,几 个不同的国家可以属于同一个阵营,使用相同的建造栏、拥有相同的科技树,仅仅 替换几种特殊兵种。例如 RA2 的 3 阵营 10 国家。 SAGE 的阵营结构称为“独立模式” ,这也是由于微观型建造方式带来的后遗 症, 一个国家只能属于一个阵营, 使用各自独立的建造欠, 拥有各自独立的科技树, 虽然 ZH 里同一个阵营下属 3 个将军看起来好像科技树是相互差不多,但实际上他 们却是 3 个完全不相关的独立阵营,拥有不同的建造栏和科技树,只不过是游戏开 发者故意把它们做得来比较相似而已,这是一个障眼法。 4、 图像格式: TS 支持的图像格式有 SHP 动画图片和 PCX 静态图片, 其中 SHP 使用非常广 泛,这是一种 256 色索引图,需要对应的 PAL 调色板才能正确显示图像,否则将 显示为乱色。 SHP 适合直接用作效果动画, 例如弹头爆炸的动画可以直接用一个动 画 SHP 来表现,使用现成的 SHP 比较方便,但制作新的 SHP 就麻烦得要死。 SAGE 支持的图像格式只有 TGA 静态图片(DDS 被系统识别为 TGA 的压缩 格式) ,这是一种 32 位真彩图,不需要调色板就能直接显示。TGA 只能用作 3D 贴

图及界面图片,由于其是静态图片的原因导致了不能直接制作成效果动画,必须依 靠粒子系统的调用和运算才能表现出弹头爆炸动画。 5、 模型格式: TS 是一个含有半 3D 属性的 2D 引擎(假 3D 引擎) ,支持的模型格式为 VXL 像素体,这是一种依靠堆细小的像素点来构成形成一定的外形,用 VXLSE 来制作 模型需要一个点一个点地描绘,虽然技术含量低但非常麻烦,虽然有 3DS2VXL 工 具可以直接将 3D 模型转换成 VXL,但由于 TS 引擎的低端性能,没办法做出精致 的 VXL 模型。此外不得不提的是,TS 的单位开火点、烟雾产生位置全靠 RULES 里的坐标来设置,因此非常难以调准确。 SAGE 是真正的 3D 引擎,支持的模型结构为 W3D 和 W3X 模型,这是一种用 3DMAX 制作而成的模型, 不需要经过任何转换及后期处理, 所有工作都在 3DMAX 里完成,因此制作过程相当简练,但并不简单,这需要扎实的 3DMAX 建模功夫及 贴图功夫才能做出精致的模型。顺带要提的是,SAGE 的单位开火点、炮塔指定、 炮管指定、烟雾产生位置等直接由 3DMAX 里模型块或关节点来关联,因此不需要 设置任何坐标,只要把模型画好,然后把这个模型块的名称拿给 INI 调用即可调节 准确。 6、 摄像机: TS 的视角是固定的,摄像机机体的 XYZ 位置大约在(60:60:49)的点上, 离地高度永远固定,焦距为无穷大,因此渲染出来的场景也是毫无景深感的二维直 观图。 SAGE 的视角是可变的,摄像机的位置虽然有个默认值,但可以通过设置参数 来改变它,同时在游戏进行时也可以利用小键盘的 8246 来变换视角,这样更容易 贴近物体,近距离观察精致的模型结构。 7、 代码结构: TS 的代码类型很少,而主要发挥作用的只有 Rules 和 Art,因此平台插手了大 部分代码间的对应和关联,不需要你去人工编写,就像一个建筑的皮肤能自适应 5 种地形来现实不同的图像, 完全是游戏平台管理了所有对应规律, 你不能去改变它, 因此工作量很小,只需要按照规律命名即可,使用方便但扩展性很小。 SAGE 的代码类型非常多,光 ZH 的主要 INI 就有 10 种(表 1.01) ,因此平台 基本上是不理会这些代码之间的对应和关联, 99%的对应和关联需要 MODER 自己 去编写。因此难度相对较大,工作量也提高了不少,但 MODER 可以自由发挥,扩 展性非常大。 8、 语句功能: TS 的语句好比集成电路,一条语句实现一个固定的功能,只需要设置一个参 数就能获得特定的功能,几条语句共存就能组成一套系统,使用起来相当简便,但 由于集成电路的功能单调,因此系统的扩展性不高,也难以实现花样百出的功能效 果,限制了 MOD 的构思范围。 SAGE 的语句好比元器件,一条语句、一个参数只能实现一个细节定义,似乎 根本就体现不出 SAGE 的潜力到底有多强大。但如果用 SAGE 特有的 Behavior 模 块将一系列语句和参数按照一定的规律组合,就能制作出你自创的集成电路,多个 自创的集成电路相互组合嵌套,就能实现花样百出的强大系统,但由于使用元器件 要求 MODER 具备更加扎实的底层技术, 因此使用起来容易摸不着头绪,要做出优 秀而高效的系统,难度也相当高。 9、 语法特点:

TS 的语法称为“汇编级” ,即用方括号表示段首字(如[MTNK]) ,没有结束字 的概念,一个段落的内容从段首字开始,到下一个相邻的段首字结束,中间并列的 所有语句都只能是单行,只实现一个功能,没有功能模块的概念,彼此不能相互嵌 套。 SAGE 的语法称为“C 语言级” ,将单位代码、按钮代码、升级项目等所有内 容都视为函数,每个函数都都必须有函数类型+函数名来作为段首字(如 Object MTNK 、 Draw = W3DTankDraw ModuleTag_01 、 ConditionState = REALLYDAMAGED 等)以及结束字 End,和 C 语言里的花括号很相似,夹在段首 字和 End 之间的所有内容便是这个函数的所有定义。而 SAGE 的函数还分为主函 数和子函数,例如 Object MTNK 就是一个主函数,而 Draw = W3DTankDraw ModuleTag_01 则是一级子函数,ConditionState = REALLYDAMAGED 为二级子 函数,子函数能被主函数嵌套调用,低级子函数能被高级子函数调用,但主函数不 能被任何函数调用,一个主函数内的所有子函数彼此并列,各自完成一系列功能, 相互配合起来以完成一个嵌入式系统功能。

综上所诉,不难看出 SAGE 的特点是更加底层化、更加微观化,更加独立化,适合思维宽 阔的 MODER 使用,但正是因为它的这些特点而导致了平台的难度相当高,所以要想学好 SAGE,从现在起就必须认真转变思维。



更多相关文章:
五星之光1.3变绝命时刻1.04补丁下载与安装
理论上可以在此基础上安装任何非安装程序的绝命时刻 MOD(某些国外 MOD 是以 exe 安装程序的形式安装,这种安装会识别绝命根本目录,是否 能识别五星根目录我未曾...
将军MOD简要攻略
绝命时刻 MOD 现代战争 {全阵营简要攻略 全阵营...中国战役第一关: 一开始的战舰一定要走远点来轰...这为以后武装直升机扫平来犯敌军打下基础。直升机...
更多相关标签:
绝命时刻mod    绝命时刻mod现代战争    绝命时刻mod大全    绝命时刻1.04小李mod    绝命时刻高达mod    绝命时刻五星之光mod    绝命时刻mod和平使命    绝命时刻mod安装    

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图