zoukankan      html  css  js  c++  java
  • 2D游戏地图的制作

    2D游戏地图的制作

    概述:

        地图制作在游戏中的作用非常之大,一个好的地图编辑器决定着一款游戏的好坏。目前世面上大部分的电脑游戏的地图都是如下格式,每个坐标代表人物在游戏中的坐标。

     


        然而,在地图编辑器中,地图也是由很多很多的小图素拼接而成的。由于一张大的地图会出现很多重复的图素,那么我们就将这些图素提出来,称为基本图素。基本图素的好处是,可以重复使用。这样我们就可以用比较少的图片种类反复拼接成一张大图。这样做的好处是1,减少图片数量和磁盘容量;2,减少显卡和内存的负担;3加快游戏速度;4,更合理的利用资源。当然这么做的缺点也是有的1,反复利用同样的图素,画面将不好看;2,需要专业人员的大量拼接。

    切割工具

        按照上面所说的,一张完美的地图的制作需要用到1,切割工具;2,拼图工具;3编辑器;4转换工具(3种工具之间格式的转换)。

        首先我们要从原画手里拿到我们需要的原图,再使用切割工具进行我们需要的切割,原图的要求是必须是64*64,128*128,256*256的倍数,我们可以

     

        在图片规格那里可以选择我们要切的格式,然后加载所需要切割的图片,输出的ANI那里填好游戏目录里的路径。TITLE编号是由于会有很多文件的ani要写在一个ani里,所以为防止重复写入,则打开需要写入的ani文件,查看最后的编号,用此编号加1作为title开始编号。如果是第一次切割则为0。图片的文件名,需要填写完整路径,此路径为游戏中的路径,遮罩文件的文件夹名称一般为Mapobj这个文件夹里放置着植物、场景地形等其它静态物件。动态遮罩文件的文件夹名称为Cartoon一般来说,由多桢的静态图片连续播放,形成动态的图片都放在这里;地图基本图素放置的文件夹名称为puzzle。这些文件夹一般放在主目录的DATA\map目录下,文件夹里的子文件夹的名称按照分类命名。Pullze文件名是切割后的图片索引文件的目录,我们可以使用中文,这样在后面的拼图中会很方便。图片编号和位数 是在文件夹里图片自动命名的数字规格。

        使用注意事项:在使用中1,确定每次切割的图片规格都是一样的;2,在切割之前千万要再看一遍ANI里所写的编号是否正确;3新生成的ani还需经过DaiBuilder.exe进行格式转换,这样可以提高地图编辑器在启动的过程中对ani的索引速度,实际上,有时候在地图编辑器中打开没有转换的ani也会出错!4,文件夹和图片的命名一定要一目了然,摆放规则。5文件若不是BMP或者tga文件则要转换为此二者格式。


    拼图工具(puzzle.exe)

        首先我们要把刚才所切割出来的PUZZLE文件按照我们的需要拼成模块,再用这些模块和原图素拼接成一张大的地图。

        在拼接这些模块时1,需要打开两个puzzle.exe,一个为“选择—拾取”模式,另一个则为“编辑—填充”模式。快捷键Alt+Tab,可以在两者之间快速切换提高工作效率。2,我们按照示意图根据大小需要在“编辑—填充”模式的puzzle.exe中新建一张拼图文件,设定好高度和宽度,从选择—拾取”模式的puzzle.exe中拾取图素,填充到编辑—填充”模式的puzzle.exe中。然后命名保存。3,保存的一类文件最好也用文件夹区分开来。

        拼接大图的时候,首先要注意1,你要拼多大的地图,在所有的示意图中其标名的计算单位都是以屏来计算的,而我们在编辑地图的过程中必须把它计算为格子数,这样才能确定新建立的地图高和宽,在制作新的地图的之前,我们必须先计算出地图大小,以便在使用puzzle.exe拼图工具的时候新建地图使用。例如我这次做的图为200屏,考虑到填加整图,所以设定为15*20屏,这样高度格子数:15*800/128=94宽度格子数:20*600/128=94。2,拼图时参考示意图,但尽量考虑多一些,一些地形地貌的变化要合理。变化图素的连接要曲折圆滑,切忌方方正正。3,尽量不要在同一屏内反复使用一种图素,这样会造成非常难看的地貌出现。4,拼接时,注意不要产生竖线一类的东西,那是图素之间没有连接好的缘故。

    地图编辑器(Architect.exe)

        最后我们就要接触到地图编辑器了,在使用地图编辑器之前,我们要做好一些准备第一步,你的ANI写好了没?这个问题问得很怪,其实非常重要。你的底图ani文件是不会错的了,但你的遮罩ANI呢?在做遮罩ANI之前,你首先要注意,a所有的遮罩大小不能超过512*512,所以超过512*512的图都需要切割,b还有遮罩的画布大小必须是2的冥次方,如果不是,那么就要到PHOTOSHOP中修改并保存,c所有的遮罩文件一律要改成英文和数字的混合名称,并且最好不重复;d遮罩文件的目录在\data\mapobj\下分类放置;e记住你的文件名是否当中有空格一类的错误;f将CoverAniMaker.exe文件拷贝到\data\mapobj\内,双击打开后,依次输入mapscene.ani,0。则开始自动生成ani和ini文件,将mapscene.ani拷贝到ANI文件夹后,需要将ANI用DaiBuilder.exe转换一下。G,将生成的INI里的按照序列号位置粘贴到map.ini中。最后记得把map.ini中CoverAmount处加上新增加遮罩物件的个数。h多祯动态遮罩物件ini的编写,需要手写,具体写法请参照地图编辑器-入门。I,全部写好后先不急着开始做,随便建个地图看看是否所有的遮罩都能显示,如果不行就得检查原因,常见的错误有1,文件名重复2,文件名中间有空格3,ANI文件没有转换4,路径错误或无图片5,map.ini中CoverAmount未重设遮罩物件的个数。

        第二步,接下来我们新建一个地图文件了,打开新建地图,选择我们刚才做好的整图,他的后缀为.puzzle。以后存储的时候用存储为tmap文件,这样可以进行编辑,还有点要注意的是,新建地图所用的PUZZLE文件不要用中文名,否则编辑TMAP文件后会不识底图的。

        第三步打掩码。在给地图添加掩码的时候先点初始化掩码,再把地图的四周打上掩码,规则是:上3行,下两行,左右各一行,这里所指的行都是按照完整的掩码格子计算。小范围的填加掩码只要按住CTRL键拖动鼠标即可,大范围的添加掩码则可以用右键拖动。清除掩码也是如此。在机战地图中,掩码要多打一些,原因是机战中的人物和怪物都是机器人,体形庞大,掩码打的少则会卡在地图中,还有的是会造成穿邦现象。

        第四步打遮罩。遮罩在地图中的作用不可小看,所以在打遮罩的时候要注意一些建筑的遮罩要反复设定重心的坐标,直到和底图重合的时候不会模糊才可以,当你选好坐标加上遮罩的时候,记得在遮罩描边上用鼠标扫一下,如果画面无晃动则表示坐标准确,反之则还可以再继续调整。一些树的遮罩要记得注意附近的地形,沙漠地区和沙滩附近的植物是不同的。

        第五步打地形。地形有个技巧,先根据本图的特点和地形把一些比较少的地形特点先打上,然后再修改TMAP里的文件,修改成相应的地形码即可,然后再反复的修改直到满意。在打地形的时候有时候会遇到编辑器里还没有的地形,则需要在Terrian.ini里填加,格式按照其他已有的地形格式,加好后千万别忘记在最上面的[文件头信息]地形数量写对啊。

        第六步高度设置。在游戏中有些人可以走到,但明显有高低变化的地方需要打上高度,这样在人行走的时候会后仰,前倾,体现地图的真实性,而在一些人不可能达到的地方,列如河对岸和高山,悬崖则需要打上比较高的高,具体高度看游戏设定,因为在有的游戏中是可以跳的。

        第七步检查修改。当你把上面的步骤都完成的时候,一张完整的地图就做完了,但是我们还需要再仔细的检查修改一下。我们放大地图看一下,是否有遗漏,在底图上是否还有竖线一类的条纹。是否部分地方图素是一样的,是否部分片区掩码遮罩等没打,遮罩是否合理。然后我们在缩小再检查,看是否有掩码漏打的地方,遮罩布局是否合理,整个地图的感觉如何。做细微的调整。

        第八步整填加切屏点,保存地图为TMAP和DMAP格式,完成。


    名词解释:

    1,ANI文件

        它是一种记录序列的文件,这样的文件将有表头一段语句表达记录类型和数量,正文是编号和该编号代表的路径。被一个场景的所有图素拼接序列,人物的动作序列都可以用来表示,加载地图或者加载一段人物的动作的时候,只需要读取相应ANI即可。

    2,INI文件

        配置文件,往往记录的是一些最基础的配置,列如一个怪物的配置文件中会记录该怪物的头像,声音,模型,贴图,移动速度等(有些即时制游戏或3D游戏会记录在数据库中)。也用于软件的配置文件。

    3,PUZZL

        这是图素拼接的工具,列如美术出10个格子,将这10个格子画在一个图中,每个格子有64*64大小,那么我们按照64*64大小分割会得到10个64*64的小图片。这些小图片存在客户端中,每个都有编号,然后,我们利用这10个格子来拼地图。地图是有坐标的,那么则可以记录坐标对应的小图片(图素),这样。一张地图出来的时候,有多少个坐标就对应了多少小图片,客户端就可以按照这个把图片显示出来。

    4,屏

        这个是2D游戏中表示大小的单位。一屏有800*600象素大小。

    5,mapobj

        物件和遮罩的文件夹。

    6,TMAP和DMAP

        每个公司都不一样的称呼,其实就是编辑器认识的文件和客户端认识的文件。记录了这个场景所拥有的坐标,坐标对应的ANI(图素路径);坐标对应的遮罩,掩码等。

    7,坐标系。

        坐标系有很多,美术坐标是按照象素划分,每个象素是一个坐标。程序坐标是按照世界大小划分,每个场景都有一个唯一坐标。地图编辑器还会用到图素坐标,即时按照图素划分的坐标,例如基础图素大小为64*64,那么就是说64*64象素就是一个坐标,用这个坐标来对应图片。

        策划也用到一个坐标是一步就是一个坐标,或者说图中的那个小格子,每个小格子都有自己的属性,高低,掩码,水陆属性等。

  • 相关阅读:
    Zabbix学习
    Ping 不通的原因分析
    【FAQ】P3. 为什么 torch.cuda.is_available() 是 False
    【PyTorch教程】P2. Python编辑器的选择、安装及配置
    PyTorch环境配置及安装
    更改文件夹图标
    卸载OpenIV
    一次写文,多平台直接粘贴&打造最流畅的写作流程
    Python字符串中删除特定字符
    Python字符串中添加、插入特定字符
  • 原文地址:https://www.cnblogs.com/tinytiny/p/2440344.html
Copyright © 2011-2022 走看看