翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 2054|回复: 1

[教程] 地形修改教程

[复制链接]

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6021

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
 楼主| 发表于 2018-6-24 16:52:18 | 显示全部楼层 |阅读模式
绝大多数MOD中,都会有新的图像、单位,但修改地形的不常见。一方面,游戏硬编码限制了只能设置42个地形,无法增加两个以上的新地形;另一方面,地形图要制作也并不容易。


地形图的制作
一般来说,新添加的地形图都在10×10以下。为了方便制作,我们可以用乌龟包的“地形图分合工具”功能来预先生成菱形的地形图。
首先从terrain.drs导出一个SLP文件,帧数不小于所需的地形图的帧数。在SLP Editor中,删除任意帧直至数量等于所需,例如需要制作7×7的地形,则删除至49帧,然后另存为一个新的SLP文件。之后用地形图分合工具,将保存的SLP文件合并为一张BMP,便得到了一张菱形图。


另外,我们需要一张地形材质,例如下面的无缝熔岩地形。通常这种图是正方形的,为了使用它,我们需要做一些变换。


首先,用Photoshop打开导出的菱形图,转换为RGB模式,用魔棒(不消除锯齿)选取四周的背景色,然后使用“通过复制的图层”复制一个背景色的图层。然后打开材质文件,将其拖入前者,并使材质的图层位于背景色图层之下。


之后我们要对地形图层进行变换,使其匹配菱形。先将其旋转45度(或者135、-135、-45度,取决于材质图的凹凸明暗朝向)并应用变换。然后通过拖动,将其上下左右边界与图像的边界对齐,程序会自动吸附。为了方便操作,第二步可以先手动输入坐标和纵横缩放比例,将材质图缩小到图像范围内再拖动。


看起来好像基本完成,可以导出了?注意菱形的边界,有一圈不明显的绿色,这是底部草1的颜色。由于背景色的菱形轮廓并不是完全平直的,而且旋转后的材质图会的边缘有半透明的平滑过渡,因此会出现这种现象。为了避免导出的图像有明显的边缘线条,可以考虑把最下的图层(背景)全涂成黑色,即与材质图相似的颜色。利用菜单中的“编辑-填充...”功能,将背景图层填充为纯黑色,如图所示。


最后,就可以导出为256色图像了。因为帝2的调色板限制,而地形图的颜色变化又不会很大,导出后可能会有显著的失真问题。所以,在导出前可以调整一下色阶、亮度/对比度、色相/饱和度等属性,来达到最好的效果。
将导出的BMP图像在SLP Editor中用地形图分合工具分割为SLP文件,即可作为地形图使用。

地形的初级编辑
有的情况下,仅仅改变SLP图像是不够的,还需要对DAT进行修改。例如前述的熔岩地形,尺寸为7×7,没有相匹配的原版地形。
基于不能增添新地形,41号地形也无法提供正确的障碍类型,我们决定修改40号地形。该地形名为KOH,是至尊王模式中,纪念碑及其周围一圈的地形,外观与道路相同,但不能在其上建造建筑,而熔岩上也是不适合建造的。
首先用DRS Editor向DRS(建议使用gamedata_x1_p1.drs,参考MOD基础教程)中导入SLP,并设置编号(例如15012)。然后打开AGE,在地形中选择40号地形KOH,就可以开始编辑属性了。
尽管在AGE的地形页面中有这么多输入框,但实际上大部分都是无用的。真正发挥作用的只有:SLP、声音、渗透级别、渗透形式、地图颜色、外观地形、地块维数、使用地形单位数、地形单位、单位密度、置于中心。具体内容可以查询AGE词典。
SLP指定了地形所用的图像资源,自然我们应填入15012。
熔岩可以想象到是在地底的,因此渗透形式设为6,渗透级别设为255,就可以拥有像冰一样分层的边界效果,并且自身位于较低的一侧;
地块维数指定了两个方向的块数,之前编辑材质图时用的是7×7,所以我们也分别填入两个7;
地图颜色即小地图颜色,考虑使用红色,便填入83、82、81,这分别是亮面、平面和暗面的颜色;
另外,要保证外观地形为-1,否则实际会显示其他的地形。
做了这些修改之后,保存DAT并启动游戏,进入地图编辑器,选择“道路 (其他)”地形进行绘制,便可以看到新添加的熔岩地形。

地形的高级应用
除了前面所说的修改了的属性,其他的属性也各有其作用。举个例子,我们将声音属性修改成433,则视角在地形中时会不断播放沉船声。
另一个属性“外观地形”,则该地形不使用自身的图像,而是绘制指定的地形图像。有人会问,同样外观的地形为什么要设置多个呢?下面将会说到这样做的原因。
众所周知,有一些地形是树林,例如森林、橡树林、松树林。而树木虽然在地形生成的时候出现,但它们不是地形本身而是附加在其上的单位。要让新的地形也能够生成单位,就需要设置“地形单位”属性。
例如,我们让熔岩地形上能够生成岩石,便在“使用地形单位数”中填上1,并把生成单位列表的第一行分别填上:地形单位623,单位密度100(对应10%),置于中心1。保存后进入地图编辑器绘制,便可以看到熔岩上出现了岩石。


因此,各种温带树林和树叶地形除了产生树木和小地图颜色之外,没有其他的区别;之所以树林要用“外观地形”这个属性,就是为了简化数据,让二者的地形保持统一。
原版的树林地形中只生成一种树木,生成率为100%,而且所有的单位都位于格子的中心处。实际上,地形单位用法比原版要更多样,可以生成多种单位,单位的生成率也不一定要100%(如泥土1中的仙人掌),甚至可以允许生成的单位位于格子的随机位置,而不仅限于中心。另外需要说明的是,类型60或以下的单位才能够被生成,因此不要期望能在某个地形上直接生成动物,除非利用死亡单位。另外要注意,生成的单位必须能够被放置在这种地形上,这要求它所对应的地形限制大于0(见下)。
添加地形的方法很简单,只需要点击左下角的“新增”即可,然后直接编辑或者从旧地形粘贴。但需要注意,这里最多添加一个41号,而不能添加更多的地形,否则AGE本身都有可能出错。



关于地形限制
不同于地形,地形限制可以任意增减。地形限制的作用有五个:
①单位可移动的地形;
②确定单位能否放置在某种地形上,包括训练、建造和地图编辑器;
③控制单位的移动轨迹;
④对于抛射物,控制其在落空时的图像;
⑤改变单位在地形上受到的伤害值。
其中前四个都是通过单位的地形限制来设置的,⑤则通过“地形伤害加成”。
如图所示,左侧列表为各个地形限制,中间的列表是选中的地形限制对应的各地形,右侧则是选中的地形的数据。为了方便修改,新增的地形限制建议从原有的复制。
通行参数/伤害倍数的值若大于0,则单位可以在对应地形上放置,并能够通行相关的地形;对于地形伤害加成的限制,大于0的数会改变单位的伤害值,结果是与该值相乘。
移动地面图像和移动图像速率决定了在上面移动的单位的效果,即“足迹”,如雪地上的脚印和水中的涟漪。移动图像速率是产生的间隔,对于大于0的数,越小则图像越密集。
入地形图像则是抛射物的落地图像。命中单位时,抛射物会出现死亡图像;未命中,则出现对应地形的这个图像。像炮弹落在地上会有小爆炸,落在水上是水花,便是由这个控制的。
在实际编辑中我们会发现,单位不能只在某些地形上运动,例如允许了单位在草地上运动,就不能阻止单位在道路上运动;要么让船能在任何水上走,要么船不能在水上走,不能只走某种水域。这也是硬编码所调控的,一个单位可以只允许在某些地形上放置,但不能自由限制其运动。地形分为三种:陆地、浅滩和水域,当地形限制允许单位在某种地形上运动时,也会允许这种单位在相同类型地形上的运动。具体的硬编码类型可参见附表。
另外我们会发现现在的地形只有41种,如果在地形记录中添加了第42个地形(也就是41号),那么它的地形限制没有被设置。因此,单位便无法在41号地形上做出正确的行为,原版“未知”地形中出现的旧版狂战士轨迹便是它的表现。为此,我们可以把“地形”页面中地形列表底部的“使用的地形数”改为42,这样地形限制可以达到42号。至于运动障碍类型,也可以通过UltraEdit修改EXE文件中的0x0027B491位置的那个字节来实现,01、02、04分别为水、滩、陆。

附表1:原版地形

ID地形名障碍类型SLP资源渗透级别渗透形式
0草原 1150011000
1水,浅滩150021403
2海滩150171102
3泥土 315007740
4浅滩15014604
5树叶-100
6泥土 115000700
7农田150041551
8废弃农田150051571
9草原 3150091040
10森林15011900
11泥土 215006720
12草原 2150081020
13棕榈沙漠15010820
14沙漠-1800
15水,浅滩(其他)150021433
16草 1(其他)150131060
17丛林-1980
18竹林-1920
19松树林-1980
20橡树林-1940
21雪地松树林150291367
22水,深海150151423
23水,海域150161443
24道路150181205
25道路,毁坏150191225
26冰(其他)15024406
27建筑150061150
28水,浅滩(桥梁)-11413
29农田 1150211501
30农田 2150221511
31农田 3150231521
32150261307
33雪泥地150271327
34雪原150281347
35-1426
36建筑(雪)-11387
37海滩(冰)-1446
38道路,雪150301625
39道路,蘑菇150311645
40道路(至尊王)150181245
41未知000

在不改变原版非隐藏地形的条件下,可用的地形有如下几种:
15 - 水,浅滩 (其他),经常在自定战役中作为无岸水使用,请注意协调;
16 - 草 1 (其他),有少数随机地图会生成少量;
26 - 冰 (其他),需要修改另外两个冰地形35和37的外观地形;
36 - 建筑 (雪),需要将0x000CC2F1的字节0x24改为0x21,否则会被利用为雪地地基;
40 - 道路 (其他),作为至尊王的中心地形,原本是不能放置单位的,若修改地形限制则可能影响该模式的游戏;
41 - 未知,建议配合增加“使用地形数”和修改EXE来使用。

附表2:渗透形式效果图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x
004时代:战役时代
我很乐意看到有人在MOD技术上超过我。
回复

使用道具 举报

183

主题

9

精华

2万

积分

教皇

耕战
3329
鹰币
16945
天龙币
0
回帖
1200

翔鹰建站十周年纪念章

附庸关系3
发表于 2018-6-25 20:42:30 | 显示全部楼层
如果只是修改图像的话,对up1.5的地形制作回报率很高!
索引:
Userpatch 实用技术贴索引←点击进入
决定版精品贴大索引←点击进入

战役:
《 兔与豹》——柔弱奴隶公主  猛兽口中求生←点击进入
《敛由国的统一》←点击进入

殊途战役制作群 QQ: 616317226
翔鹰帝国Ⅱ:决定版交流群 QQ: 112822759
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-12-20 12:52 , Processed in 0.253087 second(s), 29 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表