Remaster_ARX-4 发表于 2016-10-29 03:53

关于 cod引擎 我的见解 地图的构成与渲染(.map.和.xxxbsp文件)

本帖最后由 Remaster_ARX-4 于 2016-12-28 19:33 编辑

关于有名的二进制空间分割树结构算法,我自己也不是特别懂,所以很不好写,只能跳过他的开发核心部分简述如何使用它

Remaster_ARX-4 发表于 2016-10-29 03:56

本帖最后由 Remaster_ARX-4 于 2016-12-28 19:32 编辑

为什么总是提到BSP,(binary space partioning)因为BSP是几个老游戏以前用于平面分割空间,以二叉树的形式不断的将平面分割下去并实现计算好各个空间中其他空间网格相对的树的位置,并以平面检测碰撞而设立的一种方法,被广泛应用于BOOM,HL,QUAKE,以及现在的COD中
BSP全称是二进制空间分割数结构,以bsp后缀保存的文件是使用这些方法的引擎的地图关卡的数据经编译后可以被引擎加载的文件,在COD中他被改称为d3dbsp
在Q3引擎的地图编辑器工具下,先是以一种明文数据的方式存储的文件格式*.map文件(不要和另一种一样后缀的和调试有关的*.map文件搞混淆了),用于方便在编辑器用户界面的程序下快速的直接读取与保存,当你想让引擎将其加载进内存并渲染出实际3d地图,需要先通过工具将它编译称d3dbsp文件,这才是被加载进内存后引擎"认识"并能读取-处理-输出画面的地图数据库文件。

好了,就先讲这么多了,你不需要懂真正的BSP的高深的原理,你只需要每次看到BSP相关的字符串只要联想到他是这种引擎以及他加载地图的格式相关的信息就可以了。

然后讲如何简单的去做一个新的地图
先引入几个概念 刷子(原brush,也可理解成画刷,或者用刷子刷出的空间结构),实体(原entity,也可理解成具有作用的实体),这两个是构成COD地图最常用到的两个元素,你在实际游戏渲染出的世界见到的几乎全部分2d或者是3d的对象,都是他们两个构成。详细简述见此

然后以COD4的地图编辑器为例,将讲解关于他的一些特点和使用常识。
首先运行目录下bin内的radiant.exe程序,这是一个老版的32位指令集并使用老MFC做底层的编辑器程序,看上去很low,一点不如UDK CE他们的引擎编辑器界面那么高大上,不过,那些曾经令人惊艳的MW系列的单机剧情地图就是用它来设计的主体核心部分。

首先运行他,首次运行会提示让你加载一个这个程序默认的一些习惯参数保存的文件路径所在,文件称为cod4.prj,直接找到目录下加载即可。然后就进入下图的操作界面了。



这是老版(相对于BO3的BLACK 版radiant)的关卡编辑器的主界面,窗口自上而下(先左而右)为菜单栏,快捷工具栏,2D视图,3D视图,材质库窗口,控制台。

强劲火力 发表于 2016-10-29 15:26

高手。:)

A154103040 发表于 2017-6-26 10:57

厉害了我的哥
页: [1]
查看完整版本: 关于 cod引擎 我的见解 地图的构成与渲染(.map.和.xxxbsp文件)