性别保密
UID21872
库银 枚
好友
积分147
阅读权限200
在线时间 小时
最后登录1970-1-1
注册时间2010-10-18
|
本帖最后由 lanson 于 2011-3-3 15:39 编辑
前言:建筑增加和建筑修改不同,增加是件很麻烦的事,很佩服老外在建筑修改时不厌其烦地每个建筑都做了修改,因为增加建筑所涉及的文本太多了。增加建筑我只知道一些理论,而且没有经过实践验证。正所谓条条大路通罗马 ,既然有简单的为何要用复杂的呢? 以下我先来说说简单的建筑替换,主要用这类办法。
一些要点看2楼
3楼是关于建筑增加等的一些理论和猜想,爱看不看
正文:嘛,我也是从柱子组前辈那里学来的,寒奔大人的威名当年可是老外也要甘拜下风{:5_155:}
简单说说原理,先解释一个词:LOD
LOD技术 Levels of Detail,意为多细节层次,LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。
明白这个后,原理就很好理解了,罗马的引擎就是采用这类多层次技术,不同距离所用的模型不同,把不同lod模型文件cas合成一类item的文件,便于游戏时统一运算。
这里先允许我引用寒大的关于建筑修改的一些话:
修改罗马的建筑的方法。
或许大家以前看过我发的帖子,关于三国mod的建筑预览。现就自己的心得和经验贡献出来,让大家分享,希望大家能发挥自己的特长,把更多的中华古典建筑加入到游戏中,共同营造更丰富的汉文化MOD。(希望版主加精加钱)
改建筑其实还是比较简单的,但增加建筑就比较麻烦了。现在只谈改建筑,因为罗马已有的建筑群足够多了,完全没有必要去增加。
1、安装3Dmax5.0或以上版本,然后运行插件,就是那个导入导出*.cas的插件。
2、用Xpak解压罗马packs文件夹下面的所有×.pak文件。这时就会在Rome - Total War\Data\ 下出现 “ITEMS”文件夹,里面全部是*.item文件。这个就是罗马所有的建筑模型。对应的贴图在Rome - Total War\Data\models_building\TEXTURES下,
3、用3dmax插件导入刚才的某个.item文件。我们可以在max中看见他是由一个组合的模型构成的。比如[LOD_1],[LOD_2],[LOD_3],[LOD_4]........这个就是说明该建筑是由4个lod级别的模型构成的。有些建筑是2个,有些是3个lod。
4、很重要的一点,建筑模型的item文件不是由3dmax插件导出的,是由游戏自动生成的。所以我们只需要设定好对应的几个同文件名的cas文件即可。比如由4个lod级别构成的建筑模型我们就应该在Rome - Total War\Data\models_building\文件夹中生成4个cas文件。
举例,“aaa.item” ,那么对应4个cas文件名应该为 aaa_high.cas,aaa_med.cas,aaa_low.cas,aaa_lowest.cas.
5、我们只要在3dmax中正确设置好了这4个模型,就可以导出了生成这4个cas文件了。注意:_high代表最精细的建筑模型。_lowest最粗造的。
6、建立好这4个文件以后,删除ITEMS”文件夹中的aaa.item.然后运行游戏,你就会发现战场或城市里面的建筑被替换成的你的模型。
以上是寒大的方法,其实已经说得很清楚了,以下我再用实例来说明:
最简单的我用游戏中的城里的罗马石像roman_statue,基本上根据英文意思都能了解到这个item是属于什么模型的
你可以用寒大的方法先找到这个文件roman_statue.item,(pack文件在三国mod已经解开了,不用自己解)用max导入打开item,
你可以看到这个石像是由4个lod组成的,现在教你用更加一目了然的方法:打开descr_items.txt这个我给附件,是属于罗马1.6的,在descr_items.txt里查找roman_statue,你会找到这类:
type roman_statue
lod
max_distance 100.0
model_rigid roman_statue_high.cas
lod
max_distance 200.0
model_rigid roman_statue_med_high.cas
lod
max_distance 300.0
model_rigid roman_statue_med.cas
lod
max_distance 4000.0
model_rigid roman_statue_low.cas
看到这里你就知道这个石像分别由high、med_high、med、low,这4个cas组成
这里我先说说这里面词语的大致意思(按照我的理解)
type roman_statue ……………… 模型名字
lod………………可以无视
max_distance ……………… 就是在这个范围内的意思,数字100就是游戏用100个单位,我个人理解就是游戏的坐标单位
model_rigid………………模型路径
这里需要注意,如果如上述的没有路径就是默认在data/models_building里面比如bi新增加的有
model_rigid ../../bi/data/models_building/BI_roman_governors_palace_high.cas
这里其实不用改,(给你个descr_items.txt也就是方面查找而已,真正用的我后面说说。)cas命名时按照这几个名字,比如我现在要把石像改成水井,需要做4个对应的cas
roman_statue_high.cas
roman_statue_med_high.cas
roman_statue_med.cas
roman_statue_low.cas
按照石像命名就可以了
我以alex作为引擎为例子
然后把cas放在descr_items.txt指引的目录下,比如默认的data/models_building,如果你查到的是bi新增的bi/data/models_building/
记得贴图要放3处,(其实是两处,不过为了以后修改方便)
第一处data/models_building/textures或者bi/data/models_building/textures
第二处alexander/data/models_building/textures
第三处alexander/data/items/textures
就是说你用什么引擎,就必须在这个引擎下的models_building和items文件夹下有相应的贴图
然后把旧有的alexander/data/items/roman_statue.item删去,然后入游戏进入过去有石像的城市,你会发现items文件夹下生成一个新的roman_statue.item,城里的石像被封印在井里了!
|
|