novalogic吧 关注:209贴子:2,966
  • 2回复贴,共1

DF系列MOD开发基础教程:DF2地形制作教程

只看楼主收藏回复

概述:
DF系列的地形制作是作为整个系列中MOD开发最基本的部分而没有之一,因为在DF1的时代,如果官方提供任务编辑器的话,除了首先能开始制作任务外,而首先能改变的游戏的内部资源就是地形制作,因此到了DF2这个功能在摸索中被实现了(官方并没有提供相关说明及教程),因此Novalogic的游戏MOD首先是从地形制作开始。
在进行本教程之前所需已经掌握的知识有以下这些:
1、玩过三角洲特种部队2
2、了解三维绘图软件3dsmax
3、了解一些极为简单的计算机脚本编辑
当然以上三点中,1是必须要经过的,另2点可以说有这方面基础对文章的内容能理解的更好,没有也不是问题很大,但多少要花些心思去理解。


IP属地:上海1楼2014-12-18 16:52回复
    第一章 DF2地形生成原理
    地形文件一共有7个文件组成.它们分别是:
    *.TRN文件,DF和DFEDIT对地形的呼叫文件;
    ????_C.JPG或????_C.TGA文件,地表贴图文件,又称纹理贴图文件;
    ????_D.PCX文件,地形形成文件;
    ????_M.PCX文件,地形像素贴图坐标文件;
    ????_DM.TGA文件,地形像素贴图文件;
    ????_CM.PCX文件,地形像素形成文件;
    ????_CM.CAL文件,地形像素贴图呼叫文件。
    看了这些文件,到底是有什么用呢?这里用3DSMAX作一个示范:
    打开3DSMAX,先画一个长宽各为100单位的PATCH GIRD,然后将它的段面数调高

    然后切换的MODIFY面板,点击MORE按钮,选择DISPLAYS(置换)工具,选择一个地形形成文件(如DF2提供的Dfdg1_d.pcx)。

    并将STRONG(强度)调高,就可以得到高低起伏的地形了

    打开材质编辑器,任意选择一个材质球.点击DIFFUS后面的方块按钮,在跳出来的菜单中选择BITMAP贴图,在贴图文件中选择Dfdg1_c.jpg。

    打开贴图按钮并将材质赋予置换后的PATCH GIRD,这样一个DF2的地形就在3dsmax中生成了。

    进入地形中间渲染一张看看,是不是和DF2中的一样

    现在可以了解到voxels space好比将一个无边无际的PACT GIRD通过置换和无穷无尽反复贴图后形成了较为真实的地形。
    DF2比DF1地形表现出色的地方就是植被的建立,也就是“草”的效果。那么“草”是如何形成的呢?前面已经提到的地形像素贴图坐标文件、地形像素贴图文件、地形像素形成文件和地形像素贴图呼叫文件就是让“草”在地形上张出来的关键。现在分析以下其中的原理仍然以Dfdg1为例子:

    这两幅图的结构是一样的,左边是像素贴图坐标贴图,右边是地形纹理贴图,它们在文件中的尺寸都为1024*1024,但它们的颜色结构是完全不同的,Dfdg1_m.pcx是256色图而Dfdg1_c.jpg是16位色图形。为什么Dfdg1_m.pcx是256色图形呢?请将该图形放大到极限,就会发现每一个像素和色块都是独立存在的一个正方形,在Dfdg1_m.pcx中每一个像素色块都有其特别的意义,其实每一个像素色块都有一个特定的像素贴图文件,这些像素贴图文件并不是散在TERRAINS.PFF文件包的各个地方,而是有一个专门的像素贴图文件所支持,它就是????_cm.tga,而例题Dfdg1所使用的像素贴图文件既是Dfdg1_cm.tga。打开Dfdg1_cm.tga文件,可以看到它的尺寸为64*16384分辨率的图象文件。
    仔细分析这个文件,可以看到该文件是由256个64*64的小贴图组成,这正和Dfdg1_m.pcx的颜色结构相吻合。那么游戏怎么知道什么颜色的像素贴什么纹理呢?Dfdg_cm.cal登场了,它就是当遇到Dfdg1_m.pcx配置给某个像素什么颜色,就呼叫Dfdg1_cm.tga中某个贴图到达指定位置。(想要仔细分析,就用WINDOWS的记事本将其打开)不过光有贴图文件“草”还是张不出来,这根据置换原理,在每个像素点上还要进行一次置换,????_pm.pcx像素形成文件即可担当起这个重任。其文件尺寸大小和????_cm.tga一样,不过颜色为灰度处理,这并不奇怪,因为用于置换的文件必须是256色灰度图形。
    这些贴图文件、置换文件和呼叫在DF2中是不会给直接调用的,必须有一个文件协调它们之间的关系和使用位置,这个文件就是*.TRN文件。如果使用过DF2MED程序的话,就可知道*.TRN文件的重要性了。因为DF2是通过*.TRN文件来组织这些形成地形的这些文件。可以使用WINDOWS的记事本来打开和修改这个文件。


    IP属地:上海2楼2014-12-18 17:03
    回复
      第三章 地形脚本编辑
      做到这里,都还是较为简单的。但是制作像素坐标贴图、像素贴图、像素形成置换文件,是十分麻烦的。必须首先自己制作像素贴图呼叫文件,对像素贴图和像素形成置换文件中的256幅贴图必须熟记,还要自己勾画像素贴图坐标文件。那么如此复杂是否有简单的方法呢?有,就是引用原有的DF2的材料制作。怎么个引用法呢?就要学会自己编辑TRN文件。
      随便打开一个官方已有TRN文件,文件格式如下:
      terrain_name "Green One" 地形名称
      terrain_creator "Jason Tull" 地形设计者姓名
      color_map dmg6_c 调入地形纹理贴图文件名
      elev_map dmg6_d 调入地形形成文件名
      detail_map dmg6_m 调入像素贴图坐标文件名
      detail_color dmg6_cm 调入像素贴图文件名
      detail_elev dmg6_dm 调入像素形成文件名
      char_data dmg6_cm 调入像素贴图呼叫文件名
      sky_map clouds01 调入天空贴图文件名
      sky_palette skygrd01 调入天空调色文件名
      sky_height 1236 设定天空高度
      horizon 1 地平线位置
      water_map ripple1 调入水纹贴图文件名
      water_height 35 水深度设定
      filter 128, 128, 128 过滤色设定
      gamma 128 色差设定
      saturation 128 色饱和设定
      sun_slope 70 阳光角度
      然后根据以上格式编辑自制的地形。更改后如下:
      color_map ROMAN_c
      elev_map ROMAN_d
      detail_map dmg6_m
      detail_color dmg6_cm
      detail_elev dmg6_dm
      char_data dmg6_cm
      sky_map clouds01
      sky_palette skygrd01
      sky_height 1236
      horizon 1
      water_map ripple1
      water_height 35
      filter 128, 128, 128
      gamma 128
      saturation 128
      sun_slope 70
      更改后将文件另存为ROMAN.TRN。然后将ROMAN_c.JPG、ROMAN_d.PCX和ROMAN.TRN文件复制到DF2的目录中去。然后用PACK将其打入TERRAINS.PFF文件中,用DF2MED编辑一个简单任务后,在DF2中就可看到这幅浪漫的地形了。

      以上这幅地形是随意挑幅图片进行的,其实随意使用其它图形很有趣,但是不符合常例的,是无法进行游戏的,因为地域没有明显的平原和高地,没有道路和河流,而且DF使用的是反复贴图,图片和图片之间有明显的边界,由于高低落差,这些“悬崖”是无论如何也上不去的,从上面跳下来也是必死无疑的。所以要真正的制作好的DF地形还是要费一点工夫的。


      IP属地:上海4楼2014-12-19 11:07
      回复