如何新建盟军敢死队2地图
地狱门神

〇 概述
本文主要介绍如何新建盟军敢死队2的地图。这里的新建地图,不是指仅仅修改脚本,而是指彻底从新建地形开始制作新地图。
本文将首先介绍盟军敢死队2地图的结构,然后大致介绍新建地图的步骤,并指出详细步骤的文档位置。

一 地图的结构

DATA.PCK文件解开后覆盖到DATA文件夹后的内容

本结构在文献[2]中给出的结构的基础上修订而成。

──DATA
    │  PARGLOBAL.DAT (数值、趴敌人衣服设置、子弹数、物品数、开枪速度等等)
    │ 
    ├─ANIMS (人物、物品调用)
    │  │  *.AN2 (大地图上的可拾取物品的模型数据)
    │  │  *.ANI (人物动作模型数据)
    │  │ 
    │  ├─ABI
    │  │      *.ABI (人物、物品模型与贴图库)
    │  │
    │  └─GRL
    │          *.GRL  (物品图片库)
    │         
    ├─BRIEFING (任务介绍图片组、过关动画)
    │          *.GRL (关卡任务介绍图片)
    │          *.BRI (过关动画)
    ├─CARAANIM
    │ 
    ├─CREDITOS (开发者信息)
    │  
    ├─FONTS (游戏中字体文件)
    │
    ├─FX
    │
    ├─INTENDENCIA (任务失败、过关的背景图片)
    │
    ├─INTERFAZ (界面图片、文字组)
    │      MANUAL.TXT (任务、帮助文字)
    │     
    ├─INTERLUDIOS
    │        
    ├─MACROS (宏库,用于MIS文件的生成)
    │     
    ├─MISIONES (关卡文件夹)
    │  │  MISIONES.DAT (单机任务列表等)
    │  │  MISIONESRED.DAT (连机任务列表等)
    │  │ 
    │  ├─BU
    │  │      BU.BAS (环境设置文件)
    │  │      BU.GSC (动作脚本设置文件)
    │  │      BU.Y64(关卡地图显示文件)
    │  │      BU.MIS (任务设置、人物、物品、技能等等主设置文件)
    │  │      BU.STR (关卡任务显示文件之一)
    │  │      BUE00.MBI (一个小房间的视觉地图)
    │  │      BUE00.SEC (一个小房间的逻辑地图)
    │  │      BUEX.MA2 (大地图的遮盖)
    │  │      BUEX.SEC (大地图的物理地图)
    │  │      MANUAL_LIBRETA_BU.MSB (任务列表显示之二)
    │  │      PGR_BU.MSB (开始载入图片的设置)
    │  │      BU_OBJETIVOS.txt (任务帮助设置之二)
    │  │     
    │  ├─CZ (以下各文件夹的内容和BU的文件结构一致,故省略)
    │  ├─ECL    
    │  ├─HL
    │  ├─IS    
    │  ├─KW   
    │  ├─PA    
    │  ├─PT    
    │  ├─RY  
    │  ├─SB   
    │  ├─SH    
    │  ├─TK   
    │  ├─TU01    
    │  ├─TU02     
    │  ├─TU03    
    │  ├─TU04     
    │  └─TU05
    │         
    ├─OBJETOSESPECIALES
    │    
    ├─PARAMETRICA
    │  
    ├─RED
    │ 
    ├─SONIDOS (声音文件夹)
    │  │ 
    │  └─ESA
    │          ESA.MSB (队员及盟军士兵声音设置)
    │         
    ├──STR
    │      GLOBAL.STR (关卡名称、队员背包、物品的名称等等,文字显示文件 
    │
    └─WOFIP
            tst.arlc (主菜单画面)  
            *.POP (片头、结尾、过关视频)

注意到DATA\MISIONES文件夹下的各关卡文件夹中的如下几类文件:
Y64、SEC、MA2、MBI、MIS、BAS、GSC
以及DATA\ANIMS文件夹下的如下几类文件:
ANI、ABI、GRL

下面的介绍围绕
这几个格式展开。

MIS、BAS、GSC均是BSMB格式的脚本文件,可用BsmbDecoderShell.exe转换成文本文件。
MIS是游戏关卡的主脚本文件,其他所有文件均从这里开始被读取。里面主要有场景中的敌我人物、物体的初始位置、能力、背包等信息。
BAS是游戏关卡的环境设置文件,主要有电杆电线的逻辑信息、铁丝网的位置等。该文件在MIS文件中引用,可以整体并入MIS文件。
GSC是游戏关卡的动作脚本文件,主要有敌人的巡逻路线以及触发器(控制游戏目标等)。该文件在MIS文件中引用,可以整体并入MIS文件。

Y64、MA2、MBI均是显示用地图。
MBI是纯3D地图,其中即包含三角形或四边形模型信息,又包含贴图。主要用于房间的显示。房间中的静态光影效果是预渲染到贴图上的。
Y64和MA2是2D地图。
Y64包含原始3D模型的4个方向的摄像机高度40度的正投影的几种分辨率的图片。
MA2包含原始3D模型在这些方向的高出地面的物体的遮盖。将原始3D模型中的物体按离屏幕远近划分成数个距离区间,每个区间物体向屏幕作正投影,得到面片,然后将这些面片重新放到原来的距离区间的起始位置。这个过程所得的面片,就称为物体的遮盖。通过遮盖,游戏可以虚拟出3D的效果。
MBI所包含的信息可以生成相应的Y64和MA2,但是目前尚未有工具实现这点。

SEC是逻辑地图。
SEC控制人物行走的范围、人物与物体的碰撞、人物在地图区块上行走发出的声音等等。
SEC中的多边形的表示方式和MBI中不一样,SEC中的多边形都可以看作是突出地面的棱柱,其顶面是该多边形,侧面是垂直于地面的梯形,底面是该多边形在地面的正投影。

ANI是BSMB格式的脚本文件,ABI是动态图像文件,GRL是静态图像文件。
人物的动作是由ANI引用ABI来描述。人物图像的使用是在MIS文件中。

二 地图修改的现状

目前已有的地图修改,主要集中在MIS、BAS、GSC三个文件的修改上。这里不再考虑。ANI是文本格式,也不考虑。

其他六种格式,目前的格式分析,已经完全解析了Y64、SEC、MA2、MBI、GRL五种格式,基本解析了ABI格式。

从目前已经完成的工具来考虑,可以完美修改的格式有SEC、MBI、GRL三种,可以修改的格式有Y64。

另外,还有一个有待分析的格式H2O,描述游戏中的水流。

三 地图修改的步骤

下面描述的地图修改的步骤。

1)从已有的MBI获得盟军的3D模型和贴图。
参见文献[3]:“如何将MBI文件导出为OBJ文件”,“如何将OBJ文件导入3DS Max 8.0”。
该步骤可以省略。

2)使用3DSMAX建立地图的3D视觉模型,并制作贴图。
贴图必须使用gif格式,贴图大小只能为128*128或256*256。
顶点数限制为32768;贴图数限制为256。

3)通过OBJ文件转换生成MBI。
参见文献[3]:“如何从3DS Max 8.0导出OBJ文件用于生成MBI文件”。
此外,可参看Src\Examples\EX01.MBI.files下的待转换的OBJ文件的例子。

4)通过3DSMAX的“挤压”操作并修整获得物理模型(粗模型)。
注意:
SEC中的多边形的表示方式和MBI中不一样,SEC中的多边形都可以看作是突出地面的棱柱,其顶面是该多边形,侧面是垂直于地面的梯
形,底面是该多边形在地面的正投影。将这些边分成三种:顶面边、底面边、侧面边,其中,侧面边是指所有侧面的边中除去顶面边和地面边的边。
需要确保顶面边不垂直于地面(x!=0或y!=0),底面边在地面上(z=0),侧面边垂直于地面(x=y=0)。
所有的侧面均是垂直于地面的,不必在模型中画出的,画出也没有问题。但是侧面的上下顶点(除z坐标以外,x、y对应相同的点),必须对应存在。
也就是说,一个从地面凸出的区块,必须在地面上有其投影的挖空部分。另外,对于两个相邻的从地面凸出的区块,必须按下图的正确方法分割。
最后,所有的多边形都必须是凸多边形。

5)通过OBJ文件转换生成SEC。
参见文献[3]:“如何从3DS Max 8.0导出OBJ文件用于生成SEC文件”。
此外,可参看Src\Examples\EX01.SEC.files下的待转换的OBJ文件的例子。

6)为地图制作相应的地形脚本BAS。
参见文献[1][2]。

7)为地图制作相应的主脚本MIS和动作脚本GSC。
参见文献[1][2]。
需要注意的是主脚本的文件名和目录名必须是盟军2的已有的目录名,但是文件名和目录名可以不一样。

这样,一个完整的关卡就制作完成。

四 结论

本制作文档略显简略,如有疑问,请到以下网址与我联系。
http://www.cnblogs.com/Rex/Contact.aspx?id=1

本文中提到的文档,给出路径的,均可在“盟军敢死队开发工具箱”的源文件包中找到。
给出网址的,在对应网址可以看到。其他文档,如果无法找到,请向我联系索要。

参考文献:
[1]盟军敢死队2修改基础教程,URF(faqy),地狱门神,2003
[2]盟军敢死队二•修改教程补充,wyel2000,2007,http://bbs.cga.com.cn/BBS_content/65/2007/9/2/939824.asp?tid=939824
[3]OBJ导入导出步骤,NeoRAGEx2002,地狱门神,2008,Src\Doc\OBJ_ConvertProcedure.zh.htm
[4]For Commandos II: 3 key files’ data structures,盗版钦差,2006,invox4C2_3keyfiles.doc
[5]For Commandos II: 2 auxiliary files’ data structures,盗版钦差,2006,invox4C2_2auxfiles.doc
[6]盟军敢死队2及3 Y64文件格式表,地狱门神,Src\Doc\Comm2_Y64.zh.htm
[7]盟军敢死队2及3 SEC文件格式表,地狱门神,Src\Doc\Comm2_SEC.zh.htm
[8]盟军敢死队2 -- MA2文件格式表,PJB(网站大律师),地狱门神,Src\Doc\Comm2_MA2.zh.htm

转载于:https://www.cnblogs.com/Rex/archive/2008/08/14/1267832.html

如何新建盟军敢死队2地图相关推荐

  1. 盟军敢死队开发工具箱

    Scroll down for English translation. 盟军敢死队开发工具箱 地狱门神(F.R.C.) github https://github.com/IanusInferus/ ...

  2. [原创] 盟军敢死队2 - 3D模型/动作浏览器

    9-24-2007继续搞事.修正了左右手坐标系显示及坐标原点(模型导航点),添加了FSAA和简单的planar阴影,其实对盟2而言已经足矣,哪天心情好准备再整个动作混合.... 边开枪边跑动的屠夫?不 ...

  3. [原创] 盟军敢死队2 - 3D室内场景浏览器

    9月29日支持了新发现的大理石地板反射贴图的显示和导出:这种光滑表面的虚像反射效果其实是通过将地板贴图透明化和模型的垂直镜像复制来实现的,目前只在盟3的Ber2_21和Ber2_22两个室内场景发现有 ...

  4. 盟军敢死队2 - 3D导航网格浏览器

    12/19/2006更新.为避免版面散乱及首页流量过大,已将内容整理成文章,详细的Work in Progress请见这里. 转载于:https://www.cnblogs.com/neoragex2 ...

  5. 我玩《盟军敢死队》的后遗症

    日常生活篇: 逢人便炫耀自己会讲德语,问及怎么讲,原来只会干吼"Alarm! Alarm!": 看见校园里一坨人聚在一起讲德语就萌发了朝他们扔番茄和鸡蛋的恶念: 看见老爸的香烟就如 ...

  6. 【盟军敢死队:二战英雄修改器实现】【感慨一下古龙群侠传这个修改器的编写过程】

    [二战英雄] 这个没写,网上有现成的,外国人写的?怎么是鸟语呢,跟了一下得到了他的修改方式: 1.28游戏的,功能有 2个 锁定弹药和持久度 实现方式很简单了,直接改代码,描述起来就是: [地址下面的 ...

  7. 备忘录吕吕没有备忘录十新建_前往地图备忘单

    备忘录吕吕没有备忘录十新建 Create map 建立地图 Add item to map 将商品添加到地图 Lookup item from map 从地图查找项目 Delete item from ...

  8. 智能网联汽车高精地图白皮书(2020)

    1. 前言 高精地图的发展与智慧交通.智能网联汽车紧密相关,从智能网联汽车上路伊始,高精地图产业就应势而生并飞速发展.相对于以往的导航地图,高精地图是智能网联汽车交通的共性基础技术,其服务的对象并非仅 ...

  9. GeoServer基础教程(三):部署发布Shapefile地图数据

    转载:http://blog.csdn.net/mingzai624. 这是GeoServer官方网站提供的一份Shapefile测试数据 nyc_roads.zip ,包含了部分纽约的道路信息,我们 ...

最新文章

  1. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 处理静态资源
  2. 2015-2016 Petrozavodsk Winter Training Camp, Nizhny Novgorod SU Contest
  3. 1.8 欠拟合和过拟合-机器学习笔记-斯坦福吴恩达教授
  4. NUXT 入门第一课: 关于 Nuxt.js
  5. 为什么逻辑思维不做小程序了而开发APP得到
  6. 存储型xss漏洞怎么解决_FinDOMXSS:一款针对DOM型XSS漏洞的快速扫描工具
  7. 奋战杭电ACM(DAY9)1013
  8. 使用Maven命令安装jar包到repo中
  9. java请求转发实例_Servlet请求转发的步骤和实例
  10. mongodb 添加用户及权限设置详解
  11. 针对利用tzselect修改时间及ln -sf 修改系统时间不好使的情况 linux 6.5
  12. SPSS16 视频教程 共17章全
  13. Android开发常用开源框架
  14. 柳州计算机一级考试报名时间,2021计算机考试报名时间和考试时间
  15. Mac版网易云音乐打不开
  16. Python max函数
  17. Testing WLW!!
  18. Packet Tracer6.0静态路由,RIP,OSPF路由方案配置(1)
  19. ArcGIS教程02:由高程点生成表面栅格及对应的等高线
  20. tomcat启动(一)

热门文章

  1. 商业数据分析【四】商务智能—Python应用Ⅰ
  2. 题目:P3131 [USACO16JAN]Subsequences Summing to Sevens S
  3. 微机原理-I/O并行接口和并行接口芯片8255A
  4. ip、子网掩码、网关、默认网关
  5. 跟着iMeta学做图|用三元图展示微生物种群相对丰度
  6. 【书评】《软价值》:量子时代的财富创造规律
  7. VASP COHP计算
  8. 计算机科学考研听谁的网课好,终于明白了!考研英语网课听谁的好?
  9. 【电脑连接wifi不能访问网页但是微信和QQ可以登录如何解决】
  10. 充电宝有没有必要买?便携充电宝推荐