PagingLandcape2_MapSplitter工具祥解

在我的某篇日志中,说过PLSM2能使用的地图需要事先分割,形成Pages。下面介绍PLSM2源码包中的免费地图分割工具Tool_MapSplitter的使用方法。(关于该工具源码中的一个Bug的介绍及修正方法见我的另一篇日志)

    该工具在运行时,需要有几个配置文件:1、resources.cfg,该文件告诉Tool_MapSplitter跟地图相关的资源在什么位置;2、maptool.cfg,该文件告诉工具,我们有哪些(个)地图需要分割;3、TerrainGenerator.cfg,该文件里面包含了地图所使用的原始高度图或者纹理在什么地方,以及分割后输出到哪里。

    我们一般把resources.cfg放到APP所在的bin/release下,那里有APP的资源配置文件resources.cfg。另外两个不一定要和工具放一起,但是工具必须能够从resource.cfg中的配置中找到这两个文件存放的目录。

    下面看看Tool_MapSplitter工程的部分源代码:

    int main(int argc, char **argv)
    {  //注意,该工具不接受命令行输入
        Ogre::MapUtil *MapPrecompute = new Ogre::MapUtil (); //这里实例化一个MapUtil对象
        MapPrecompute->Load();//加载地图
        MapPrecompute->process ();//处理:分割。会在cmd窗口中显示一大堆信息
        delete MapPrecompute; //释放
    }

    代码是不是很清晰?

void MapUtil::Load()
    {
#ifndef _MAPEDITOR   
        init();//读resource.cfg
        mOptions = new PagingLandScapeOptions(0);
        mOptions->cfgGroupName = String("PLSM2");
        mOptions->load(String("maptool.cfg"));//读maptool.cfg
#endif //_MAPEDITOR

    }

    来看看maptool.cfg文件里有什么(注意,该文件可能不在当前目录下,media/paginglandscape2下):

    DefaultMap=European_Alpes
    European_Alpes=Alpes.gen
    TSMTerrain=TsmTerrain.gen
    hf_129_3=hf_129_3.gen
    puget_sound=puget_1k.gen
    gcanyon_height_4k2k=gcanyon_height_4k2k.gen
    terragen_genrated=terragen16bits.gen

    # resource group name
    GroupName=PLSM2
    #do you want to run it on all maps listed here
    BatchMode=yes

    蓝色部分是所有需要分割的地图列表(对应配置文件),=后面是分割的配置文件,告诉工具怎么分割地图。例:

hf_129_3=hf_129_3.gen 是说有个地图配置hf_129_3.cfg,该地图的分割设置在hf_129_3.gen.cfg里。

    在hf_129_3.cfg中有LandScapeFileName=hf129_3,说明了该地图使用的原始高度图为hf129_3文件(例:hf129_3.png)。

    但是工具软件是怎么找到hf129_3.png的呢?原来在maptool.cfg同级目录下,有个TerrainGenerator.cfg:

HeightMapFolder=datasrcs
ColorMapFolder=datasrcs
OutputFolder=terrains

    里面的内容你一看便知。至于工具在分割地图时的具体操作,要依据地图的配置文件里面的设置来确定,但是分割的结果就是为每幅地图形成一个文件夹,里面是生成的“一套”文件。

   

   

    这“一套”文件一起描述了你配置的一幅地图的分割结果,PLSM2可以通过paginglandscape2.cfg(名字不一定要是paginglandscape2.cfg)直接加载该地图。

    祝你好运。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值