求生之路地图制作吧 关注:1,187贴子:4,891
  • 37回复贴,共1

【教程】地图编译原理

只看楼主收藏回复



1楼2014-08-07 17:44回复
    简介
    很多人根本不知道或不了解如何以及为什么Source的地图需要编译。有些人甚至不知道自己的地图"正在"编译。在这篇文章中,我将试着描述一个编辑器文件到一张可玩的地图的整个过程。虽然在编译过程的某些方面我会讲得深入些,但是请记住这不是一个教你如何编译的教程。它将帮助你理解发生了什么,而为什么其他事(像防止泄露)是重要的。
    创建一张可玩的Source地图是从一个编辑器文件开始的。此文件包含所有的多边形数据(又名固体),实体数据以及贴图数据,这些定义了你完成的地图的外观和行为。所有的编辑器,基本上都要达到同样的目的---去定义一个地图是怎么出现的。这是你要理解的关键概念:所有的编辑器都是这样做的。它们并没有完成地图。他们所做的,只是给你一个方便的方式来为以后的过程准备多边形,光照,和实体数据。
    一旦你已经在你的编辑器里建立了一个地图,并且已经将其保存到磁盘,你就会想要在Source里进行测试,来看看它是如何横空出世的。要确保你所有实体都正常工作,光照正确,而且没有坏的"固体"。在Hammer里,很多人都只是"运行(Run)"地图,在一段时间的"思考"之后,他们的计算机打开了半条命2,然后"砰"的一下将他们带到地图中。这个简单的事情,隐藏着许多复杂的操作和设定。
    现在,问题的核心是,在那有时候奇慢无比的"思考时间"里,到底发生了什么?即便是一张中等大小的地图,大多数人都会注意到,在此期间他们的硬盘在疯狂地读取和写入数据。那么,你的计算机在做什么?是在编译你的地图!你的编辑器会调用一个脚本(.bat),然后做下面所有的事:
    读取.vmf文件。
    针对.vmf文件执行BSP程序
    针对新的.bsp文件执行VIS程序
    针对.bsp文件执行RAD程序来添加光照信息
    移动你新完成的.bsp到你的模组/maps目录
    带参数执行游戏来运行你的地图
    你可能会想:"该死的,原来有这么多事要做。一切都是为了什么?"。嗯,那就是我在这里要解释的东西。


    2楼2014-08-07 17:44
    回复
      2025-06-07 07:24:59
      广告
      编译过程概述
      下面的图表显示了创建一个可玩的地图文件(.bsp)的全部过程。
      <placeholder> .vmf > VBSP > 中间的 .bsp > VVIS > VRAD > 最终的 .bsp </placeholder>


      3楼2014-08-07 17:45
      回复
        编译工具
        下表将很好地告诉你每一个工具做的事。描述将尽可能简单,因为任务的工具的执行涉及到一些复杂的数学运算,你作为一个地图制作者,还是需要懂一点的。只要你能明白什么工具是用来干什么的,这应该就足够了
        工具目的
        VBSPBSP工具的作用是转换.vmf文件数据到一个可使用的.bsp文件里,使游戏引擎可以读取。一旦BSP工具运行了,本质上地图是可以玩的,不过将有异常,它没有可见的矩阵,并且完全没有光照。这些关键的功能被应用于接下来的两个工具VIS和RAD。
        VVIS这个工具根据地图的几何创建可见的矩阵。该矩阵决定了在游戏里,哪些多边形玩家可以看见,哪些可能看见,而哪些从给定的任何点都不能看见。至关重要的是, 这个工具运行在你创建的每一个.bsp上。如果它不运行,那么整个地图每时每刻都是可见的。但在所有的最简单的盒子型地图里,往往因为画面卡而导致地图不可玩。关于VIS更深入的信息可以在决定可见性找到。
        VRADRAD工具,或者叫光传递工具,负责生成和应用地图里的所有光照效果。上至实体光源和"天空",下到底层贴图光源,都是由这个工具处理。一个没有运行过RAD的.bsp将会完全漆黑,或者是全亮,这取决于视频模式或者控制台设定。这个工具通常是使编译速度变慢的罪魁祸首,因为它的任务需要处理大量的数据。关于RAD更深入的信息可以在RAD(技术性的)找到。
        编译管理器
        批处理编辑器 - 支持雷神之锤(Quake),Valve,Zoners,和CST工具。
        VBCT - 针对Source引擎。
        哪种编译工具?
        Hammer使用V社自己的编译工具。这些工具的名字前都存在一个*V*(例如vbsp.exe,vvis.exe,vrad.exe)。此外,亚当·麦克恩(Adam McKern)使用了一套新的Source编译工具(CSTBSP,CSTVIS,CSTRAD--详见(http://www.ammahls.com/ CST]),它拥有比默认工具更多的功能优化和选项。截至目前,CST没有任何比V社的工具更值得注意的改进,所以已经变得过时。
        参见
        Source BSP文件格式 - 从技术角度看编译工具(从VMEX的作者和其他Source的工具)。


        4楼2014-08-07 17:46
        回复
          本教程来自valve开发教程官网


          5楼2014-08-07 17:46
          回复
            我想说lz看完后明白了么


            IP属地:河北来自Android客户端6楼2014-08-07 19:40
            收起回复

              这个就是我们要运行编译地图的时候vmf会通过run这三个东西去编译生成地图


              7楼2014-08-07 20:12
              回复
                看见海天我就进来了。


                IP属地:广东来自Android客户端8楼2014-08-07 22:06
                回复
                  2025-06-07 07:18:59
                  广告
                  不错不错,这样我们就可以选择如何快速编译地图,只看我们想看的那部分东西,迅速做调整了。


                  IP属地:甘肃9楼2014-08-07 23:59
                  回复


                    IP属地:广东10楼2014-09-28 22:42
                    回复
                      吧主,能不能给反编译的软件啊。修改地图用


                      IP属地:河南12楼2015-05-03 18:45
                      收起回复
                        然而新人看的费劲


                        IP属地:北京来自iPhone客户端13楼2015-05-31 08:55
                        收起回复
                          个人感觉运行的地图像个组装流水线,是经过不同环节组装完成的,而每个环节都有不同的工艺。


                          14楼2015-12-30 01:53
                          收起回复