解读罗马地图气候植被和地表文件
本帖最后由 lanson 于 2011-1-16 21:06 编辑研究了这么久的移植,现在有空写一下我对rs2的移植心得
对于罗马全战,无论是原版,bi,alx,对于战略环境和战役环境主要都是由跟目录下的data文件夹下文件控制。
先介绍几个重要文件
descr_climates.txt………………气候带控制与标记,即热带什么的,同时还有战场植被的引用,就是对应不同气候的植被引用,战略植被的控制与引用这个文件要在相应的档案下,就是要对应的data,如bi,alx,或者是独立mod的data
descr_climates_lookup.txt,………………气候带引用注册,姑且这么叫,因为你想创建新的气候带,就要在这个文件和descr_climate.txt中添加
descr_aerial_map_ground_types.txt ……………… 气候带的战略地皮,就是三国2.0的战略地图上的农田,沙漠等的控制,
descr_vegetation.txt……………植物模型的具体引用和综合,就是树种模型引用路径和战役树种的设定
descr_vegetation.db………………这个文件是对应上一个的vegetation,就是说罗马引擎从这个文件中认出树种,再有descr_vegetation.txt引导而在战役中产生
注意修改descr_vegetation.txt时,descr_vegetation.db也要修改,不然会跳出
descr_geography.txt………………地表控制与地皮文件控制,这是最麻烦的文件,顾名思义,如果你想换战役地皮,就是这个了,例如我可以把沙漠变成绿洲就是这么来的
descr_geography.db………………这个才是罗马引擎读取的文件,对应上面descr_geography.txt,原理与descr_vegetation.txt和descr_vegetation.db一样
descr_grass.txt………………草地参数修改,就是根据气候带不同而有不同草地,
descr_climates.txt与descr_climates_lookup.txt
本帖最后由 lanson 于 2010-11-7 04:59 编辑descr_climates_lookup.txt和descr_climates.txt这两个文件要在对应的data下才能生效
先说descr_climates_lookup.txt,这个很简单,以原版为例
打开文件你会发现只有这些
test_climate
sandy_desert
rocky_desert
temperate_grassland_fertile
temperate_grassland_infertile
temperate_forest_open
temperate_forest_deep
swamp
highland
alpine
sub_arctic
volcanic
semi_arid
原版中的气候就这几个如果你要添加新的气候带,这里也要对应添加
再说descr_climates.txt,这个文件很重要,下面举例子说明
打开后,你会看到
climates
{
test_climate
sandy_desert
rocky_desert
temperate_grassland_fertile
temperate_grassland_infertile
temperate_forest_open
temperate_forest_deep
swamp
highland
alpine
sub_arctic
semi_arid
}
这段就是下面要用到的气候带,接着以test_climate…………三国中为江南-----成都一带
climate test_climate ;;done
{
colour 236 0 140 ………………这个就是该气候带所对应的颜色,对照world/maps/base下的map_climates.tga的颜色带,顺便说说,这个颜色的对照非常的不准,就是你明明指着红色,它读取时很可能是读成深红,具体规律我还没找到。
heat 3………………热力参数加成,就是单位对于该气候的温度影响
winter………………有这个的时候,战略地图上才会有冬天
strategy summer sparse_tree cypress_a.cas 11
strategy summer sparse_tree olive_a.cas 10
strategy summer dense_tree olive_a_impassable.cas 10
strategy summer canopy olive_a_canopy.cas 12…………………………这段就是夏季时战略地图上的植被模型,后面那个参数应该是密度,这个我没留意过,自己研究
strategy winter sparse_tree birch_a_winter.cas 5
strategy winter dense_tree birch_a_impassable_winter.cas 4
strategy winter canopy birch_a_canopy_winter.cas 12
……………………同上
battle_vegetation…………夏季的战役植被
dense_forest rs_sparse_arctic_forest………………密集森林,后面那些就是树种类的总名称
dense_scrub rs_sparse_arctic_forest_win………………灌木类
battle_winter_vegetation………………冬季的
dense_forest rs_arid_forest_win
dense_scrub rs_arid_shrub_win
env_map data/battlefield/envmaps/grass.dds…………覆盖地图样式,没仔细研究过
}
替换树种时有两种办法,1,要对应descr_vegetation.txt和descr_vegetation.db文件
2,直接对应vegetation文件夹的vege文件名
descr_aerial_map_ground_types.txt
本帖最后由 lanson 于 2010-11-2 09:06 编辑战略地图地皮,descr_aerial_map_ground_types.txt文件 ,该文件位置一直不变,就是原data下,无论你用什么mod,都是这个位置
打开后,有以下
;
;
;
; cultivated_low
; cultivated_medium
; cultivated_high
; fertility_low
; fertility_medium
; fertility_high
; forest_dense
; forest_sparse
; hills
; mountains_high
; mountains_low
; swamp
; beach
; scorched
;
;
;
这段不用管,废的,就是个作者编程习惯
举例,还是江南气候带的test_climate
climate test_climate
{
cultivated_low RSdefault_farm1.tga RSdefault_winter_farm2.tga
cultivated_medium RSdefault_farm2.tga RSdefault_winter_farm2.tga
cultivated_high RSdesert_farm_winter.tga RSdefault_winter_farm2.tga
fertility_low RSmediterraneangrass_winter.tga RSsubarcticgrass_winter2.tga
fertility_medium RSmediterraneangrass_winter.tga RSsubarcticgrass_winter2.tga
fertility_high RSmediterraneanforest_winter.tga RSsubarcticgrass_winter2.tga
forest_dense RSdefault_forest.tga RSdefault_winter_open_forest.tga
forest_sparse RSmediterraneangrass_winter.tga RSdefault_winter_open_forest.tga
hills RShighland_forest.tga RSdefault_hills.tga
mountains_high RShighland_mountains.tga RSalpine_mountains_winter.tga
mountains_low RShighland_hills.tga RSrockydesert_fertilityhigh.tga
swamp RSarid_swamp.tga
beach RSdesert3.tga
scorched scorched.tga
}
cultivated……农田的地表发展程度的贴图,有三级,low,medium,high后面的tga就是我们要用到的战略地图地表文件
如:
cultivated_low RSdefault_farm1.tga RSdefault_winter_farm2.tga 前者tga为夏季时的地表,后者则是冬季
而贴图文件位置在Rome - Total War\Data\terrain\aerial_map\ground_types中
随便说说我是如何实现遇山是梯田,平原是田字田的方法,其实就是保留low为梯田文件,到了最后high时为田字田
fertility为地表的肥沃度,其实这个很重要,就是气候带战略地表的基本色调,这个就是实现热带与温带的色彩不一样的地方
forest_dense和forest_sparse,森林密集程度地表
hills小山地地表
mountains山脉地表
swamp湿地
beach沙滩
scorched焦土
顺带一提,如果在descr_climate.txt中没有在对应气候出有winter字样,说明在战略地图上地表不会读取地表贴图的后者,就是冬季地表文件tga
descr_vegetation.txt和descr_vegetation.db
本帖最后由 lanson 于 2010-11-2 09:32 编辑descr_vegetation.txt和descr_vegetation.db这个文件位置有些争议,理论上应该是在原data下的,反正我自己是两边都在
先讲讲格式:descr_vegetation.txt
第一段:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; LODs就是Levels of Detail,意为多细节层次,LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。
下面是对应的树和灌木等,具体我就不会改了
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
lod trees
{
low
{
billboard inf 10.0 ; 10 degree tolerance
}
medium
{
model 50 150 1 15
billboard inf 10.0 ; 10 degree tolerance
}
high
{
model 50 400 1 15
billboard inf 10.0 ; 10 degree tolerance
}
}
lod shrubs
{
low
{
billboard inf 10.0 ; 10 degree tolerance
}
medium
{
model 50 150 1 15
billboard inf 10.0 ; 10 degree tolerance
}
high
{
model 50 400 1 15
billboard inf 10.0 ; 10 degree tolerance
}
}
然后第二种,
;;;;;;;;;;;NEW MODELS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; almond_tree.tga………………我叫它树种模型
model almond_tree ………………模型名字
{
level models_vegetation/almond_tree.cas………………路径
}
这段是模型的具体应用模型文件,你想添加新的树种模型,就在按照上述格式添加
vegetation rs_forest_deep………………我叫它树种类
{
layout 180 rs_forest_dense2_layout.tga………………分布有前面的数字和tga文件负责
radius 1……………………………………………………………………
height_range 0.7 1.3…………………………………………………这几个就是分布参数,具体多少,没研究
aspect_range 0.7 1.0…………………………………………………
lod trees
model almond_tree …………………………………………
model european_beech_deep_forest…………………
model oak2………………………………………………………这四个是该树种类的引用模型,就是对应文本上面的
model deep_forest_rock……………………………………
}
这段是把你几个的模型文件整合到一种系列的树种类,植被种类vegetation rs_forest_deep由decsr_climate.txt文件引用
当你添加或修改过vegetation文本后,要把原有的descr_vegetation.db文件删去,并把对应的sprite文件删去,下次启动游戏时就会自动生成descr_vegetation.db,和对应的sprits,当然要对照以下的贴子,去做,植被创建还是有限制的,rs2的植被都被原作者们采用了防盗技术,只能引用,不能改造
老外的这个对于如何创建新树种讲的很清楚,我就不多说了,http://forums.totalwar.org/vb/showthread.php?60901-Tutorial-creating-new-vegetation-for-battlemaps
descr_geography.txt和descr_geography.db
本帖最后由 lanson 于 2010-11-2 10:01 编辑descr_geography.txt和descr_geography.db这两个文件是我最为头痛的
这连个文件的位置也是固定在原版的data下,而且要一起修改,否这无效
主要是参数太多,我们先看看descr_geography.txt的格式
看上图,我们这里只讲这样为你的战场气候换地皮,看第2副图的box4和box5,box上就是气候的default(默认)
这个就是对应的冬夏气候地皮修改,
texture rock terrain/battlefield/highland/summer/rock.tga…………这些就是对应地皮文件路径
texture gravel terrain/battlefield/semi_arid/summer/shrub_base.tga
texture sand_caked terrain/battlefield/semi_arid/summer/rock.tga
texture sand terrain/battlefield/temperate_forest_open/summer/sand.tga
texture sand_blown terrain/battlefield/test_climate/summer/sand.tga
texture dirt terrain/battlefield/test_climat1/summer/oz_medi_shrub_base.tga
texture mud terrain/battlefield/test_climate/summer/mud.tga
texture swamp terrain/battlefield/test_climat1/summer/oz_medi_shrub_base.tga
texture grass_dry terrain/battlefield/test_climate/summer/oz_medi_gras2.tga
texture grass_short terrain/battlefield/temperate_forest_open/summer/grass1.tga
texture grass_long terrain/battlefield/temperate_forest_open/summer/grass.tga
texture shrub_sparse terrain/battlefield/test_climat1/summer/oz_medi_shrub_base.tga
texture shrub_dense terrain/battlefield/test_climat1/summer/oz_medi_grass.tga
texture forest_sparse terrain/battlefield/test_climat1/summer/oz_medi_grass.tga
texture forest_dense terrain/battlefield/test_climat1/summer/oz_medi_grass.tga
texture env_map battlefield/envmaps/grass.dds
rock什么的就是什么地形是什么地皮,其实也是很一目了然,这个自己找地皮替换,其他的参数就是地形的修改什么的
然后就是descr_geography.db这个文件,涉及到游戏的内存修改,我原来都愁了很久,后来发现老外已经有自己一套软件修改了,在这不得不感叹下中国的技术水平真的不咋的,我在国内找了很久就是没找到,人家连原理,技术,和应用软件都有了。
就是这个软件修改descr_geography.db的
傻瓜版,别告诉我你不懂
这个一定要修改,而且要准确无误,否这就跳出,修改前要记得备份
其他的关于地形参数见这里
http://www.twcenter.net/forums/showthread.php?t=55785
最后就是descr_gress.txt
本帖最后由 lanson 于 2010-11-2 10:23 编辑descr_gress.txt这个文件也是固定位置,原data下
例子:test_climate-————江南气候--(三国)
打开后找到
climate test_climate …………气候名称
{
texture data/textures/forest_open.tga………………所引用的草地文件
spacing 0.5
present_in_winter false
ground_type grass_short
{
avg_height 1.0
width 2.0
density 40
tex_v1 0.0
tex_v2 0.19
falloff 0.4
colour 0,255,0
correction 0.1
}
ground_typemud
{
avg_height 1.0
width 2.0
density 50
tex_v1 0.0
tex_v2 0.19
falloff 0.4
colour 0,255,0
correction 0.1
}
ground_type grass_long
{
avg_height 1.2
width 2.0
density 60
tex_v1 0.4
tex_v2 0.59
falloff 0.4
colour 0,255,0
correction 0.1
}
ground_type scrub_dense
{
avg_height 1.2
width 2.0
density 40
tex_v1 0.4
tex_v2 0.59
falloff 0.4
colour 0,255,0
correction 0.1
}
ground_type forest_dense
{
avg_height 0.8
width 2.0
density 50
tex_v1 0.8
tex_v2 0.99
falloff 0.4
colour 0,255,0(实话说,这个作用我就没见过有效)
correction 0.1
}
}
上面的英文都很好理解,我特别说说tex_v1和tex_v2这两个,看图
tex_v1和tex_v2就是这个草类ground_type 的说取草地文件的位置范围,就是说如ground_type forest_dense的tex为0。8-0。99指的就是自上而下最后一种草的高度,你可以理解他为从0.8厘米到0.99厘米的图片在游戏中出现的意思,再如ground_type grass_long得tex为04-0.59就是第三种草的样式。就是这个意思,至于图中自左到右就是那些草的远景缩小图的意思,就是罗马引擎的草地dds贴图样式
理论上,可以增加第五六…………种草
就是在贴图上增加
这时就要自己手动增加,罗马中还有多种地形可怎增加草地就是
; valid ground types are
; -grass_short,
; -grass_long,
; -sand,
; -rock,
; -forest_dense,
; -scrub_dense,
; -swamp,
; -mud,
; -mud_road,
; -stone_road,
; -water,
; -ice,
; -snow,
; -wood,
; -dirt,
对比上述格式,自己动手做草
参考http://www.twcenter.net/forums/showthread.php?t=377881&highlight=descr_grass 本帖最后由 lanson 于 2011-1-16 21:39 编辑
教程结束,有不对请指出,毕竟有些是经验之谈
声明一下,原来rs2小组没有公开材质时,rs2的树模并不是cas文件,而是vege文件,只能直接运用,而不能做修改,现在有了原cas文件可以直接自由组合~~~
补充下,db文件的创建要在相对完整的cas下生成,已知的db文件除了descr_geography.db不能自动生成外其他都可以~~~,还有就是关于rs2的那个公开材质包里面packs/Mod_0.pak的这个文件夹的文件是.vsh印象中是关于阴影的文件,不能又或者是我不懂用吧~~~~,还有一些细节问题就是关于descr_climates.txt这个文件,罗马的三个引擎位置不同,rtw和alex都是在原版data下的,就是说 alex文件夹下的可以不需要,bi的则要放在bi/data下,其实很多关键性文件都是有优先性的,如descr_vegetation.txt和对应的db就是一个例子,如果是alex引擎,运行时先查看alex/data下有没有相关的文件,如果没有,则直接跳回原版data下找,所以很多mod最开始都是从rtw开始制作 ,因为这样比较妥当,减少出错~~~~ 好好好
非常感谢,国内都没有这个方面的教程 回复 lanson 的帖子
三国的bi已经被废了这个功能,原版本的BI能么,可以试验下 回复 Evenmov 的帖子
现在知道了,原版的bi和alx都不能,听说只有原版的exe可以,把原来的descr_geography.db和descr_vegetation.db删去然后会自动生成新的的db文件 :D来支持一下 恩,地图修改也是,只要原版的就行 很好很强大就是我看不懂 本帖最后由 key999 于 2011-5-25 00:43 编辑
收藏了~慢慢学习
话说原来db文件是这麽回事,我才纳闷这文件怎麽来的呵呵
好强悍啊{:5_155:}
页:
[1]