为什么魔兽地图编辑器器数据计算问题

WarCraftⅢ World Editor(简称WE)是暴雪巨作《魔兽爭霸Ⅲ》所附带的功能强大的地图编辑器。  WE由四个主编辑器还有个功能强大的物件管理器组成四大编辑器分为地形编辑器、单位编輯器触发编辑器、音效编辑器

搭建舞台场景——地形编辑器

  WE基本元素之一。光用地形编辑器就能制作出简单的对战地图由于它被设計得“傻瓜化”,就算是新手操作起来也非常容易仿佛Windows画板一样。

  通过魔兽争霸快捷程序组运行World Editor,这便是最基础的地形编辑器

  ①上方为菜单栏,与其它的Windows软件类似在这里可进行WE的所有指令操作。

  ②WE的主编辑视窗通过它看到所编辑地图的全貌。

  ③辅助視窗对你编辑地图有一定帮助,不过会影响到速度

  ④工具面板,相当于一个巨大的素材库能很方便地添加物件到地图。

  ⑤狀态栏记录了包括鼠标位置、鼠标所选物件的名称等附加信息。

  看过地形编辑器的构造之后我们来学习如何绘制地图的基本场景。第1步新建一张地图(File→New),这时你会看到网格——暴雪为了方便玩家合理安排地图构造而设计的类似一些图像编辑软件的引导线(可通过View→Grid→None来消除它)首先,我们使用工具面板的地形面板(Terrain Palette)来创建一些山和水之类的自然地貌A部分用来调整地形纹理以及绘制分界線。B部分调整悬崖、海水以及地表类型不过在这里请注意两点:第1,只能在高度差为1而且宽度至少为三个中型网格,长度在五个中型網格以上的地形间创建坡道(Ramp);第2不要在小范围内同时使用两种悬崖类型(Cliff Type),这样可能会造成地表贴图错误在完成了地形纹理设計和悬崖调整以后,使用C部分的地形高度选项来使地形变得更自然点儿在调整高度时,建议使用D部分的笔刷选

  对自己创造的地形滿意吗?光秃秃的可不好看想加些树木、小鸟还有瀑布之类的修饰就需要用到摆设面板(Doodad Palette)了,点选工具面板上方的选择框或点击Layer→Doodad来切换到摆设面板当你创建类似箭靶的物品时,会发现大小与方向都是随机的这时你既可将四部分的随机大小和随机方向取消,然后重噺添加摆设也可通过双击调整摆设,然后输入数值来改变大小、方向和种类如果你只想大致地调整一下方向,则使用Ctrl+鼠标左键点击/拖拽

  嘿嘿,接下来就是为你的地图添加有生力量了用相同的方法切换到单位面板(Unit Palette),相信到这里魔兽玩家应该不会陌生你可随意添加任何兵种和建筑到地图上,不过要注意当准备创建中立生物或构建敌人基地时,别忘了更改上方的玩家哦(默认是Player1 Red)同样能通過双击已建立的单位来更改所有者,也可使用鼠标框选或用Shift+鼠标左键来选择多个单位进行批量修改除了所有者以外,单位的属性面板和擺设的属性面板还有很多不同的地方其中的技能栏可激活所编辑单位的技能,而掉落物品栏多半用于设置中立生物死亡时掉落的物品當然,游戏地图都需要有起始点在单位面板中Buildings的最后一栏找到起始点(Start Location),然后将它创建在地图上的任意地方别忘了作为对战地图,臸少要有两个起始点接下来需要做的就是为你的对战地图加上一些小修饰了:点击菜单Scenario→Map Description,在Description栏里你可修改地图名称、游戏人数和地图說明作者栏里签上你的大名。最后测试一下地图(Ctrl+F9)就可存盘了一张简单的对战地图不就出来了?

排练演员——单位编辑器

  大家肯定不会满足于只创造简单的对战地图就像有了电脑不光只学打字一样。想学会如何驾御WE添加一些有个性的元素这时我们就要用到下媔的单位编辑器了。

  单位编辑器功能很强大因为官方经常用来调整平衡性,所以使用它就好像编辑QQ个人资料一样简单本节将介绍洳何使用它,并且主要对各个可修改选项加以解释让大家可尽情发挥想象力创造新的单位——善恶美丑高矮胖瘦,完全由你选择

  鼡F5打开它以后,我们可看到A部分是与地形编辑器同样的菜单栏和快捷按钮栏单位编辑器的菜单命令非常少且比较简单。B部分是单位树茬这里你可全览所有单位。C部分则是显示在B部分选择单位的详细数据你要做的就是在此对各项数据进行修改。通过点击菜单File→New Custom Unit新建自定義单位弹出新建单位窗口,其中名字可在创建后再编辑最主要的是选择参照单位,也就是要你选择想在哪个单位的基础上进行编辑選择了之后会在单位树的最下方看到新建的单位被放在了Custom Units目录下,点选刚才新建的自定义单位通过右方的编辑窗口对数据进行修改。

  注释 伤害值的计算:例如9级石头人的基本伤害值为60伤害值随机数为1,随机伤害值为8我们就可算出石头人对地攻击的最大伤害为60+1×8=68,朂小伤害为60-1×8=52即伤害值范围为52~68。金钱奖励的计算方法同理

  在设置完了这些让人眼花缭乱的单位数据及属性后,不要忘了通过点擊菜单File→Export Unit Settings来将所改动的单位数据存储到文件中然后再在你自己设计的地图上使用Import Unit Settings来调入修改了的数据。

主题曲及配音——音效编辑器

  四大编辑器中最后一个组员——音效编辑器不过它并不像其它编辑器那样强大,使用它为的是渲染地图内涵的气氛

  按F5键启动声效编辑器,结构与单位编辑器类似(图19)上方的菜单栏中,可输出/输入声音或者乐曲在左方的声效树状列表中,能找到出现在魔兽争霸游戏中的所有声音和乐曲双击可播放该文件,若想在触发编辑器中能调用该音效则需要通过点击菜单File→Use Internal Sound将该文件导入到右方的声音變量列表,以使它成为一个变量当然,这样还不能算完工还需要在触发编辑器中调用它才行,在触发器的行为部分加入播放声音/乐曲(Sound-Play Sound或Sound-Play Music)的行为语句便可播放刚才所加入的声音/乐曲了。虽然声音类型的行为语句很多不过对于初学者来说,掌握这两个和中止声音/乐曲(Sound-Stop

  OK至此我们已了解WE的基本核心内容了,即通过四大编辑器来进行自主设计为了能使大家有个较清晰的脉络,我们为大家整理一丅制作地图的基本思路(图20):

  1.运用地形编辑器绘制出地图的全貌这是一张地图能否吸引人的首要条件。

  2.运用单位编辑器在地圖中创建游戏可能出现的任何单位包括人物、建筑等。

  3.在策划的前提下合理使用触发编辑器来让整个地图“动”起来。大体步骤為:初始化数据→建立游戏系统(即设置人物变量等可以增加一些类似贩卖物品系统等新元素)→游戏任务。初学者可根据上文介绍的實例进行模仿平时多多分析高手的地图设计,有了经验后向更复杂阶段挑战

  4.地图的后期制作,包括用音效编辑器添加背景音乐、遊戏音效等然后再进行一些其它方面的润色。

  5.调试阶段如果你想做出一张受大家喜爱的地图,那么设计完地图后不要急于推出艏先让自己不断地去调试,去试玩玩到自己都不想看到这张地图时,就大功告成啦!

  1.点击菜单File→Perferences可对WE进行优化如果你总是忘了存檔,那么在General栏中设置AutoSave的时间来开启自动存档至于其它选项大家可根据喜好来调节。

  2.通常在设计完地形以后会通过点击菜单View→Pathing或按快捷键P开启路径选项用来检查道路是否可通过,其中紫色代表不能通过

  3.当为单位面板时你不能点选到摆设,需要切换到摆设面板;哃样当在地形面板时,只能对地形进行操作


  用单位编辑器来让一个单位变成无敌(Invulnerable)。很简单修改该单位的能力选项,再点选添加能力(Add Ability)然后你可从单位(Unit)能力面板中找到Invulnerable(Neutral),选择它便可以了


  在检查错误时,通常在可能引起错误的行为语句前加入Game-Text Message(Auto-Timed)这是一个在游戏中显示文字的语句,你可将它们设置为显示不同的信息这样当你发现哪个信息没有显示时就可大致确定引起错误嘚语句了。

很多新人们做图时遇到玩家掉线凊况而没有一个具体的说明。

实在是原因多种多样不过我把常见的一些说明一下。有错误或者不完全的地方希望大家补充说明


我先簡单说下魔兽的数据验证方式——封包验证,也可以说所有的联网游戏都是这么验证的每个玩家在游戏中的任意操作都会使用封包传递驗证,并且是相互验证只有在其他机器返回验证成功的封包,游戏数据才会真正发生改变这也就是数据同步。

现在我们再来看看掉线

我把掉线称为天灾人祸。天灾是不可抗拒因素也就是网络连接问题。人祸是制图时作者的一些失误造成的

天灾来的比较缓慢,因为網络传输具有不稳定性所以在网络堵塞或者断开网络的时候,出现的是等待XX秒这就是上面所说的验证机制,机器运行魔兽时不会单方媔做出判断必须相互验证成功后才会做出判断。所以在等待的XX秒钟机器一直在等待返回验证的封包。当然不是一直等待在XX秒后点击“丢失玩家”就可以继续游戏了。为什么要点击“丢失玩家”呢这是因为超时无法得到返回验证后,要确认丢失玩家必须保持数据同步。在点下“丢失玩家”以后就发送封包去验证,在所有玩家都点了后数据同步了,才会继续游戏就这么个道理!

人祸是我们重点偠看得东西。一般来说分为两种情况下1.数据不同步

情况:使用 本地玩家问题:返回值不同导致掉线解决:不用 本地玩家 这个函数;其他;解释:对于本地玩家,我们可以把它看成任意单位的所有者的计算机由于只是指代单一机器,所以无法使用 本地玩家 作出需要返回验證的操作因此常见的使用场合 就只有多面板之类的,并不实际存在数据的方面

wait问题:时间误差太大,导致掉线解决:尽量少使用wait;使用時尽量写整数秒数;解释:wait分为等待游戏时间和等待现实时间两种而wait函数本身的精度本来就不高,等待游戏时间的精度比等待现实时间哽低精度低意味着误差大,误差大过一定范围就会因为数据不同步造成掉线而且,这个误差是随机的

情况:wait与timer混用问题:时间误差夶,导致掉线解决:尽量不要出现wait与timer混用的情况;解释:timer的精度远比wait高很多所以在低精度要求下使用wait,高精度使用timer。

情况:循环中使用wait问題:不定时掉线解决:不要再循环中使用wait解释:虽然误差是个随机值不过在循环中使用,发生掉线的概率显著提升

情况:骰子个数和媔数过大问题:不定时掉线解决:把筛子个数和面数设定小些解释:涉及到随机数设定,很复杂简单点说,我们设定的只是概率具体嘚随机数算法我们无法修改。所以骰子个数与面数过大运算出现的误差就越大,掉线几率就越高

情况:触发中设置随机数过大问题:極小情况下掉线解决:随机数设定小些解释:基本上这种掉线情况是不会出现的,之所以列出来是要与上面的骰子问题做个说明。骰子囷随机数是相同的算法唯一的区别就在于运算队列。一个程序的运行效率是确定的魔兽也如此。我们可以把骰子看成支线剧情把T或JΦ做的随机数看成主线剧情。主线剧情是必须的所以占用的资源多,运算精确;支线任务与主线并行但是相对的占用资源少,运算误差就大了不过具体使用随机数会造成掉线的程度我没研究过,只是理论上存在

情况:条件代替动作(JASS)问题:精确情况下掉线解决:莋适当的修改解释:本人J白,无法解释

情况:guo发的JASS培训班教程中的RPBUG问题:精确情况下掉线解决:请看《JASS培训班教程》 (转载注释:everguo编写,WE高级讨论区可下载)解释:在上面的教程中已经有了解释我有一些自己的看法。在函数传递时需要得到返回值的问题我们会发现暴雪官方地图使用的J中有许多我们认为累赘的语句,是失误还是故意?很明显存在即有意义。每个函数需要的返回值不同具体的函数我们叒很难全部记住,那么最简单的办法就是全部给予返回值。

WE中我们可以使用外部资源导入到地图中使用而有些时候,问题就在这里

說明:1.WE的导入编辑器只检查文件的后缀名。这意味着我们可以把任意格式文件的后缀名改为WAR3能使用的文件格式就可以导入。

2.我们使用格式转换工具的时候也有可能在转换过程中文件损坏,造成无法识别

3.我们导入后的模型在WE编辑器中能显示了,不代表模型就没问题

解決:新建个地图,把图标图片模型先导入进去测试一下没有问题了再使用。
假如有问题自己进行修改或者更换。 

加载中请稍候......

  • B.20世纪上半叶人类经历了两次世堺大战,大量的青壮年人口死于战争;而20世纪下半叶世界基本处于...

  • 就是一口气说完整句话,中途不换气

  • 根本就没有正式的国际驾照,洳果到国外开车正式的程序: 1、到公证处办理驾照的公证书,可以要求英文或...

  • 无锡至少有两所正规大学: 1、江南大学 2、南京农业大学无錫渔业学院由于它不直接在无锡召本科生,所...

  • verilog在调用模块的时候信号端口可以通过位置或名称关联。 调用形式:module and (...

  • 不能光纤收发器昰专线用的,只要不是专线宽带都必须用光猫。光猫要注册了才能用 步骤为: 1:输入...

  • 不能,光纤收发器是专线用的只要不是专线宽帶,都必须用光猫光猫要注册了才能用。 步骤为: 1、输入...

  • 山东爱视立专业从事医用冷敷贴生产厂家加工厂家,贴剂型号全,正规文号,现代化醫用冷敷贴生产厂家加工生产...

  • 河南爱视力 凭借技术优势,医用冷敷贴oem哪家好,原材料优势,生产优势,为国内外品牌提供护眼产品研发...

  • 公司凭借技術优势 河南爱视力 原材料优势,生产优势为国内外品牌提供化妆品研发、策划、生产服务,赢...

  • 河南爱视力是一家智致力于打造研发、苼产、营销、策划于一体的大型护眼产品生产基地主打医用冷敷贴,护眼...

我要回帖

更多关于 为什么魔兽地图编辑器 的文章

 

随机推荐