《闪电战1》单位编辑教程小欧欧.docx

上传人:b****5 文档编号:6101751 上传时间:2023-01-03 格式:DOCX 页数:72 大小:11.25MB
下载 相关 举报
《闪电战1》单位编辑教程小欧欧.docx_第1页
第1页 / 共72页
《闪电战1》单位编辑教程小欧欧.docx_第2页
第2页 / 共72页
《闪电战1》单位编辑教程小欧欧.docx_第3页
第3页 / 共72页
《闪电战1》单位编辑教程小欧欧.docx_第4页
第4页 / 共72页
《闪电战1》单位编辑教程小欧欧.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

《闪电战1》单位编辑教程小欧欧.docx

《《闪电战1》单位编辑教程小欧欧.docx》由会员分享,可在线阅读,更多相关《《闪电战1》单位编辑教程小欧欧.docx(72页珍藏版)》请在冰豆网上搜索。

《闪电战1》单位编辑教程小欧欧.docx

《闪电战1》单位编辑教程小欧欧

 

闪电战1

单位编辑教程

作者:

小欧欧

 

目录

序章:

单位相关文件的种类说明介绍…………….……………..4

第一章:

单位属性文件修改初步教程

第一节:

坦克及装甲车属性文件详解…………….…………..9

第二节:

火炮及卡车、火车属性文件详解…………….……14

第三节:

飞机属性文件详解………………………….……....17

第四节:

步兵及步兵班属性文件详解…………….……...….18

第五节:

建筑属性文件详解………………………………….22

第六节:

1.xml文件修改示范……………………...…………25

第二章:

单位属性文件修改进阶教程

第一节:

武器文件的详解…………………………….……….31

第二节:

效果文件的详解…………………………………..…36

第三节:

单位指令详解………………………………………..39

第四节:

单位设定及武器设定的匹配及技巧………………..42

第三章:

新单位的导入

第一节:

新单位导入原版的方法……………………………..50

第二节:

新单位导入Mod的方法……………………………54

第四章:

系统文件consts.xml的解析…………………………..56

 

前言

《闪电战1》是一款扩展性很好的即时战略游戏,各种新单位和新建筑可以非常容易的导入游戏,而且单位的制作也不难,因此《闪电战1》的组模非常的丰富。

本人修改的第一款游戏就是《闪电战1》,当时还没有上网,完全是自己摸索。

经过不断的尝试,终于找到了修改单位属性的方法。

而这一步往往是修改党的第一步。

接触闪电战论坛后,经过前辈们的不断指导,终于学会了使用Maya建模。

这个软件曾经让我疯狂的去尝试建模,有时甚至在梦中都会想着如何去制作新单位。

闪电战的单位建模是一个比较复杂的过程,每一步都不难,但是都需要教程来指导。

非常遗憾的是,当年的老论坛关闭后,所留下来的教程不多,而且凌乱。

本人作为新论坛的技术专区版主,有义务将这些零碎的教程整合重写。

重新编写成一部完整的教程。

虽然《闪电战1》这款游戏已经渐渐老去,但是还有不少热心的老玩家在关注,这部教程就是献给所有热爱这款游戏玩家的礼物!

 

小欧欧

2014年2月

序章:

单位相关文件的种类说明介绍

《闪电战1》的单位相关文件分为几种:

一个是单位属性文件“1.xml”,另一个是单位模型文件“1.mod”,还有单位皮肤文件“.dds”。

每个单位都有完整的一套文件。

我们以原版为例,说明这些文件的路径。

我们打开Blitzkrieg\Run\data文件夹。

可以看到很多pak文件,这些文件都可以用WinRAR打开。

我们打开“data.pak”,可以看到里面有很多文件夹。

单位文件就放在“Units”文件夹里。

打开“Units”文件夹,可以看到有两个文件夹“Humans”和“Technics”,前者是步兵的相关文件夹,后者是技术单位如:

坦克、火炮、补给车的相关文件夹。

我们打开“Technics”文件夹,可以看见有4个文件夹,这是不同阵营的单位文件夹。

继续打开“German”文件夹,可以看到不同武器的分类。

如下图:

图中的文件夹从上到下的顺序是:

火炮、补给单位、飞机、自行火炮、坦克、火车

打开“Tanks”文件夹,就可以看到每个单位的文件夹了。

我们继续打开“Pz_II_Ausf_F”文件夹,即II号F型坦克。

我们可以看到这个单位的相关文件基本都在这里了。

再次说明一下各个文件:

“1.mod”:

单位模型文件,“1.xml”:

单位属性文件,“desc.txt”单位文字介绍文件,“icon.tga”该单位在地图编辑器里的图标,“name.txt”单位在游戏里显示的名称。

但是这里并没有单位的皮肤文件。

那么皮肤文件在哪里呢?

皮肤文件就放在“textures.pak”文件的同名文件夹里。

我们按刚才的路径打开“textures.pak”文件,可以看到所有皮肤文件都在这里了。

如下图:

这里说明一下这些文件的具体用途:

“1_”开头的,是夏季皮肤。

“1w_”开头的是冬季皮肤(还有以“1a_”开头的是沙漠皮肤,II号坦克没有。

“2_”开头的,是夏季死亡皮肤,同理“2w_”开头的是冬季死亡皮肤(即被击毁时的皮肤贴图)

“icon_”开头的,是单位在游戏里的微缩图标

“icon512_”开头的,是单位在游戏单位说明里的大图

以“c”结尾的是压缩纹理贴图,“h”结尾的是高纹理贴图,“l”结尾的是低纹理贴图。

当缺少相应的贴图时,在游戏里就会显示成马赛克。

所有的贴图都是DDS文件,可以通过图片编辑软件来编辑。

序章到此结束。

 

第一章:

单位属性文件修改详解

第一节:

坦克及装甲车属性文件修改详解

我们以虎式坦克为例,打开data.pak文件,将虎式坦克的属性文件解压出来,如图:

“1.xml”文件可以用浏览器打开,但是不能编辑。

编辑需要用记事本打开。

我们先用浏览器打开“1.xml”文件,双击该文件即可(默认用浏览器打开)

我们看到很多代码,下面我就来一一解释这些代码的含义。

这段是没有意义的,我们可以忽略掉。

继续往下看:

MaxHP=”200”————耐久度200,即生命值,越高,单位就越耐打

RepairCost=”1”————修复每点耐久度耗费的资源,数值越高,耗费的资源就越多

Sight=”35”————视野35,数值越大,视野越大。

原版数值一般为30-35

SightPower=”1”————这个数值是侦查能力。

1即为无法发现战壕的步兵。

0则为可以发现战壕步兵。

0.1-0.9则是在不同的视野范围内能发现战壕的步兵。

Speed=”13.87”——单位的移动动速度,越大越快

Passability=”0.49”——单位的越野能力,1为忽略地形影响。

数值越小,受地形影响越大

Camouflage=”0”——单位的隐蔽能力,数值对应视野,0即为没有隐藏能力。

在游戏里,如果单位隐藏时(不开火暴露的前提下),其被发现的距离=对付视野-隐蔽能力

Weight=”57000”——单位的重量,对坦克和车辆没有意义,对牵引火炮才有意义。

UninstallRotate=”0”——单位的重新部署时间,这个数值对于坦克和自行火炮来说,数值为0时,即没有重新部署时间,该单位从停止到移动或从移动到停止时,没有停顿,炮塔可以转动,副武器可以射击。

UninstallTransport=”0”——单位从卡车上卸载的时间,对坦克和车辆没有意义,建议保持0的数值。

(注意:

如果是自行防空炮,建议UninstallRotate和UninstallTransport的数值在0.1到1之间,如果都是0的话,自行防空炮在发现飞机后会不受控制的乱跑)

RotateSpeed=”40”——车体旋转速度,数值越大,旋转速度越快。

TurnRadius=”5”——盘旋半径,飞机才有用。

TowingForce=”0”——可以理解为拖拽能力,卡车才有用。

数值对应单位的重量。

Crew=”5”——乘员数量5,这个貌似没有多大意义。

Passangers=”0”——部分坦克有搭载步兵的能力,这个数值就是搭载步兵的数量。

TowPoint=”-1”——卡车的拖拽点代码,-1即没有。

这个对坦克没有意义。

EntrancePonit=”-1”——步兵上下车点代码,有搭载步兵能力的单位才有意义。

TrackLifetime=”10000”——履带轨迹的时间,数值越大,履带痕迹保留的时间越长。

Pz_VI_Tiger_Ausf_A_H——单位的名称,其实没有多大意义。

以上省略的部分对坦克和装甲车没有意义,部分代码解析会在后面提到。

这段对单位没有意义,对建筑才有意义,后面介绍建筑代码才会说到。

这个是单位的指令代码,会在后面专题讲解。

到这一大段都是单位的动画代码,没有必要修改。

这是单位的声音文件类型。

重头戏来了,这段代码非常关键。

这是单位的车体及炮塔设置代码。

第一段是车体代码,第二段是炮塔代码。

(如果有几个炮塔,会还多几段)

VerticalRotateSpeed=这个是垂直选择速度,数值越大速度越慢。

一般车体为0。

炮塔上的数值其实是炮架的垂直运动速度。

因为虎式坦克的炮架没有俯仰运动,所以其值也是0。

HorizontalRotateSpeed=这个是水平旋转速度,一般车体默认为10或60,没有意义。

对第二段的炮塔才有意义,同理数值越大,旋转速度越慢。

ModelPart=这个是车体或炮塔模型代码,不同的单位不同,不需要修改。

GunCarriageParts=这个是炮架代码,一般为-249到-253如果没有运动炮架,其值就为-1,也不需要改动。

FirstGun=这个数值很关键,其含义是之前部件的武器数量。

以老虎为例,其车体为第一段,之前没有部件和武器,其值就为0;第二段炮塔,因为前面有一挺车体机枪,所以其值为1.

NumGuns=这个数值也很关键,其含义是该部件的武器数量。

同样以老虎为例,其车体有一挺机枪,所以数值为1,炮塔有主炮及并列机枪,所以该数值为2.

FirstGun和NumGuns的关系其实很明确。

FirstGun的数值就是前面部件的NumGuns的总和。

ConstraintMin=Max=该部件水平旋转的范围,单位是弧度,正负值是左右旋转

ConstraintVerticalMin=Max=该部件垂直旋转的范围,单位也是弧度(对于炮塔来说,这其实是炮架的垂直旋转范围),正值是向上偏转。

这段就是武器列表。

对应前面的车体及炮塔设置代码里的FirstGun和NumGuns,我们可以看到一共有3段,分别代表三个武器,按顺序对应的是:

车体机枪、主炮、并列机枪。

因为第一个部件:

车体的NumGuns=”1”所以,第一个武器为车体机枪。

同理第二个部件:

炮塔的FirstGun=”1”所以忽略第一个武器代码,直接到第二个武器代码。

现在解析这段代码:

Priority=主副武器代码,0为主武器,1为副武器。

注意:

只有副武器可以在移动时开火。

Ammo=弹药数量

Direction=武器初始位置射击朝向,65535为正前方。

32767为正后方,其他数值就是侧面不同角度。

ReloadCost=武器的弹药补给消耗量,数值越大,每发弹药消耗的补给就越多,数值超过补给上限,该武器就无法再补给弹药,一般原版单位改数值都不会超出,某些Mod的特殊武器为了不让玩家再补充弹药会设置得很大。

ShootPoint=射击点代码,没有必要改,这个和拖拽点,上下车点一样,是在建模时设置好,导出1.xml属性文件时自动生成的。

Recoil=射击时,炮管是否后座移动代码,0为不移动,1为后座移动。

(前提是建模时有设置炮管后座)

RecoilLength=炮管后座距离,数值越大,后座移动越多。

其值也是建模时设置好的,一般不用改。

ModelPart=该射击点的连接部件代码,-1即没有设置(其实是原作者懒!

),图中第二个武器即主炮的代码为4,这些数值均不用改动!

XXX即武器代码,其对应的是同名武器文件。

如果没有对应的武器文件,在游戏里单位的武器穿甲值及伤害值均为1。

(其实就是不会开火!

Armor开头的6行就是装甲数值代码。

MinMax对应最小和最大值。

游戏里显示的是这两个值的平均值。

6行代码从上到下分别是:

左侧、右侧、顶部、底部、正面、背面。

当武器的穿甲值超过装甲值的最小值时,就有机会造成有效伤害。

当穿甲值超过平均值时,就有较可靠的几率击穿装甲造成伤害。

但只要武器的穿甲值小于最大值,坦克就会主动绕到侧面或背面装甲薄弱的地方。

(如果都不能,就不会绕行)。

如果武器穿甲值低于装甲最小值,那么就不会开火浪费弹药。

AABB那两行代码是该单位的3D模型中心值及x,y轴半径值。

一般不用修改。

(那个AABBHalSize的数值大小影响到单位包埋时的沙包大小和包埋所用时间,数值越大,沙包越大,同理,需要的时间就越多,这个值如果太大,单位就无法过桥)

ExhaustPoints是车辆尾气冒烟点,DamagePoints是单位被击毁时的着火点,都不必改动,都是建模时设置的。

单位的相关效果代码,对应的是各个效果文件。

前两个是被击毁后冒烟着火的效果,第三个是移动时的烟尘效果,第四个是主武器开火时的烟尘效果(远程火炮和大口径自行火炮才有,当然也可以给坦克添加)第五个是单位毁灭时的爆炸效果,第六个不明,第七个是残骸消失时的效果。

这段代码前三行可能是履带痕迹的属性代码(宽度,间隔等),貌似是建模时自动生成的。

后三行是单位移动时的声音代码,对应同名的声音文件。

其中第一行是启动声音,第二行是移动时声音,第三行是停止时的声音(即熄火声音)。

这段是单位被消灭后,在地面上留下的痕迹效果代码,对应的就是同路径的效果文件。

好了,坦克和装甲车的所有相关代码就介绍完毕了。

第二节:

火炮及卡车、火车属性文件详解

我们先来看火炮的相关代码说明。

和坦克相同的部分就不重复讲了,我们讲一些修改时常改动的数值。

以德军的LeFH18105mm榴弹炮为例,我们从data.pak文件里解压出该单位的属性文件,如图

我们可以看到Camouflage即隐藏值为0,如果是反坦克炮,这个值是20左右。

Weight=”3330”这个值是火炮的重量,如果牵引车的TowingForce值小于火炮的重量值,就无法牵引这门火炮。

UninstallRotate是火炮重新部署时间,即火炮旋转时,抬起炮架的时间。

UninstallTransport是火炮展开/收起大架,即和牵引车连接或卸载的时间

这两个时间越短,火炮的部署就越快,机动性就越好,在远程火炮对射并机动时很重要。

(就是军事上所谓的火炮放列射击)

TowPoint是火炮的拖拽点代码,建模时设定好的,不必改动。

这是火炮的指令代码,后面的章节会详细讲解。

火炮的武器比较简单,就一门炮,如下图。

第一段:

火炮大架(对应的是坦克的车体),没有武器,NumGun=”0”

第二段:

炮塔(火炮其实没有炮塔,但是建模时,还是会弄一个部件,命名为炮塔,作为水平旋转的轴心),炮塔上只有一门炮。

炮塔的旋转范围和炮架的俯仰范围明显和坦克不一样。

我们可以看到,第二段的“炮塔”代码里有炮架的的代码:

GunCarriage=”-254”

再复习一次:

ConstraintMin=Max=该部件水平旋转的范围,单位是弧度,正负值是左右旋转

ConstraintVerticalMin=Max=该部件垂直旋转的范围,单位也是弧度(对于炮塔来说,这其实是炮架的垂直旋转范围),正值是向上偏转。

下面的代码是火炮独有的

PeoplePoints对应的三个值是炮手代码(有个5炮手补丁,这里就是5个值)

TowPoint2D火炮牵引点的坐标(对应牵引点代码,这些值都是建模时设定的)

PeoplePonits2D炮手点的坐标,原理同上

AmmoPoint2D弹药箱的坐标,原理同上

Gunners那一大段是炮手在不同状态时的坐标。

第一个是火炮展开部署时的状态,可以看到,其数值和PeoplePonits2D的是一样的。

第二段是火炮抬起炮架,重新部署时的状态,第三段不明。

如果有必要,可以改成和第一段一样的数值。

好了,火炮部分就介绍完了。

接下来是卡车,我们以德军的欧宝卡车为例:

前面介绍过的代码不再重复,这里再次提一下:

卡车的拖拽能力“TowingForce”只有超过火炮的重量时,才能拖拽该火炮。

另外可以调整载员数量来提高卡车装载步兵的数量,即提高“Passangers”的数值。

(我的Mod一般为23-33,这样既可以载2-3队步兵,又可以支持火炮的3个炮手)

最后我们来看一下火车的属性文件里有什么特殊的地方,以普通的火车头为例:

TowPoint2D是拖拽点坐标,即火车的后连接点。

HookPoint是火车的前连接点坐标

FrontWheel即火车的前轮坐标

BackWheel为火车的后轮坐标,这两个点是火车与铁轨的连接点。

EntrancePoint2D是步兵上下车点坐标。

好了,本节到此结束。

 

第三节:

飞机属性文件详解

飞机的属性文件其实和坦克差不多,这里单独出来做一节是为了让大家更方便查找教程。

战斗机以德国的Fw190战斗机为例。

一般战斗机的视野都为0,为的是避免玩家把战斗机当侦察机用。

对于飞机来说,下面几个代码非常重要。

Speed=”75.81”速度指标非常重要,对于战斗机来说,速度快就能占据空战主动。

TurnRadius=”17”转弯半径,也是非常重要的指标,决定战斗机的水平机动能力,半径越小越灵活。

MaxHeight=”2000”这个其实是初始飞行高度。

飞行高度越高,速度越快,就越不容易被防空炮击落。

DivngAngle=”35”ClinbAngle=”35”这个是俯冲/爬升角度,数值越大,战斗机的垂直机动性就越强!

TiltAngle=”28”这个是水平盘旋倾斜角,其实没有意义。

我们再来看Ju87D俯冲轰炸机的属性:

这里值得关注的是两个代码:

MaxHeight=”1000”和DivingAngle=”60”这两个值再配合Ju87D的指令代码,就可以让这款飞机在作为轰炸机用途时可以俯冲轰炸。

大家请记住这两个数值。

我们继续往下看。

下面左图是Ju87D的属性文件,右图是He111H的属性文件

我们可以看到,He111H少了一个被摧毁的效果代码,所以其在被击落时,不会凌空爆炸!

这个是闪电战1所有大型飞机的特点,在某些情况下会导致游戏跳出,所以,玩家有必要为大型飞机加上这个被摧毁时的效果代码,即让大型飞机被击落时,可以凌空爆炸。

好了,飞机的属性文件介绍到此结束。

 

第四节:

步兵及步兵班属性文件详解

这一节我们来介绍步兵属性文件,打开data.pak文件,按Units\Humans\German\Mauser路径打开德国98K步兵的文件夹,如图:

属性文件同样命名为“1.xml”,这里顺便介绍一下其他文件:

1.san/1a.san/1w.san分别是夏季、沙漠、冬季的不开血腥效果模型;另外三个:

1b.san/1ba.san/1bw.san分别是三个季节的开血腥效果模型。

(那个“b”其实就是Blood的代码)

我们解压1.xml文件并打开,如下图:

我们可以看到,步兵的代码相对简短一些,大部分也和坦克等单位相同。

区别就是步兵的隐蔽值比较大,如图中的Camouflage=”40”,明显比坦克或卡车要大。

Armor=”0”这个是步兵的护甲值,步兵没有前侧后装甲之分,只有一个护甲值。

WalkSpeed=”5.5”这个是站立时的移动速度(于Speed有何区别我至今不明)

CrawlSpeed=”2.2”这个是匍伏前进时的移动速度

继续往下看,把属性文件拉到最底部,如图:

和坦克一样,这段是步兵的声音文件代码,与同名声音文件关联。

步兵和坦克不同,没有各个部件的代码属性,因为步兵本身就只有一个部件。

所以,直接到了武器代码。

步兵的武器代码和坦克的武器代码一样,而且更加简单,如果要添加武器,按照格式添加即可。

我们再复习一次:

Priority=主副武器代码,0为主武器,1为副武器。

当没有主武器,全部是副武器时,游戏里显示的是第一个武器的属性(即穿透力和伤害值)

Ammo=武器的弹药数量

Direction=武器的初始指向(步兵都为0)

ReloadCost=武器每发弹药的补给消耗量

XXX武器的代码,对应同名武器属性文件。

步兵在游戏里都是以一个步兵班的形式出现,那么步兵班的属性文件在哪里呢?

我们还是打开data.pak文件,那个Squads文件夹就是步兵班的属性文件夹。

如下图:

打开Squads文件夹,我们可以看到很多子文件夹,每个子文件夹都对应一个类型的步兵班。

如下图:

我们以德军的1941年步兵班为例,打开其1.xml文件:

我们可以看到属性文件和之前的单位文件完全不同。

一般来说,每个普通的步兵班有10个人,我们可以看到下面有10个代码,分别对应一个步兵的类型。

图中的德军1941年步兵班里,有4个毛瑟步枪兵,3个Mp40冲锋枪兵,一个MG34机枪兵,一个Pzb39反坦克步枪兵,以及一个军官。

下面的就是不同的阵型时,步兵班的速度加成,开火速度加成及每个步兵的位置代码。

我们一般不需要改动。

好了,步兵的属性文件介绍到此结束。

 

第五节:

建筑属性文件详解

打开data.pak文件的Buildings文件夹,如下图

我们可以看到4个文件夹,如下图

这4个文件夹分别是:

沙漠/通用/欧洲/俄罗斯的建筑分类。

我们以永久工事为例,按Buildings\common\summer\dot路径打开,如图

01–04分别代表4个不同朝向的类型。

我们以01为例:

打开1.xml文件:

耐久度和维修消耗的代码和普通单位一样。

Defence0–Defence3是建筑的正、侧、背、四面装甲值,同样有最小和最大值,其效果与普通单位的装甲最小最大值相同。

后面那个Silhouette=很有意思,是被命中的几率。

我们可以看见,堡垒的四面被命中率是0.3,即30%,这是很有用的设置。

顺便说明一下,Defence0–Denfence3只受到直射武器的伤害。

Denfence4是建筑的顶装甲值,只受曲射武器伤害,Denfence5是低部装甲值,没有意义。

继续往下看:

这长长的一段代码是建筑的武器文件代码。

,每小段都是一个武器代码。

以下面这段代码为例:

Angle=应该是射击朝向

SightMultiplier=”1”是视野距离,1即为进驻单位视野的100%,如果改成1.2,即120%的视野。

Coverage=”0.1”是进驻单位被命中的几率,0.1即10%

Ammo=弹药数量

GunPriority=主副武器的代码,0为主武器,1为副武器

Positionx=”….”y=”….”应该是武器射击点位置

….是武器类型代码,同样对应同名武器文件。

继续往下看:

这一段是建筑燃烧的效果代码。

和之前的武器代码一样,Direction和VerticalAngle是燃烧效果的朝向,Position是燃烧的位置

是燃烧效果,对应同名的效果文件。

这个是建筑的冒烟效果,同样对于同名效果文件。

这是建筑被完全摧毁时的效果,对应同名效果文件。

建筑属性文件介绍到此结束。

 

第六节:

1.xml文件修改示范

我们之前提到过,用浏览器只能打开1.xml属性文件,却不能编辑。

编辑1.x

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1