在【第一期:制作基础场景】中,我们教学了如何下载魔兽地图编辑器,并制作了一个非常基础的小村子场景。 本期我们会简单地在场景中放入魔兽争霸 3 自带的英雄,使得我们的玩家可以控制一个角色在游戏中活动。同时我们要在游戏内增加一些怪物,使得我们的玩家可以控制角色能与它们战斗。 然后,我们会通过数据编辑器来自定义一个符合我们故事设定的主角,用于让其符合我们想要的世界背景,而非拘泥于魔兽争霸 3 原本的故事。
第一节:在场景中放置魔兽自带的英雄和怪物
重新打开我们第一期的地图。
本期我们要增加玩家英雄和敌对的怪物,但我们不希望玩家可以直接控制我们村庄的各个 NPC。 要解决这个问题,我们需要在【情节】中对玩家阵营进行调整。
点击【玩家设置】,我们来到了一个新的面板。
在这个游戏中,我们需要一个【敌对】玩家,一个【村庄】玩家,一个【用户】。 我们把 #1 设置为用户, #2 设置为村庄, #3 设置为敌人。 但同时,我们还需要让用户和村庄两者是结盟的,当敌人入侵的时候,除了用户会攻击敌人,村庄也会攻击敌人。 为此,我们需要在【玩家】页面设置玩家控制者,并在【队伍】页面创建 2 个阵营,实现用户和村庄的结盟,以及和敌人的敌对关系。
完成上述设置后,点击【确定】。
回到场景,由于先前我们在放置单位时没有关注这些单位的所属,现在为了区分接下来用户操作的单位和村庄单位,我们需要把先前放置的所有单位设置其所属玩家为玩家 2,即村庄。 按下快捷键 U 打开【单位面板】后,按空格打开【选择刷子】,然后左键拖动框选我们的单位,随后按下【回车键】。
我们可以看到选中的所有单位的属性面板,在【玩家】栏,选择【村庄(蓝色)】。
得到结果如下图,然后点击确定。
随后在单位面板,确认其中的玩家栏指向【勇者(红色)】,然后随意找到一个英雄,放置到场景上。
在这里,我选择了【山丘之王】作为用户操控的角色。
按下快捷键 Ctrl+S 来保存地图(或者通过【文件】-【保存地图】来保存)。
由于我们新增了 2 个玩家,但没有设置其开始点,在保存时会弹出如下对话框:
点击【是】,编辑器会自动放置缺失的开始点。
随后,点击测试地图按钮。
我们可以进入游戏来体验我们制作的游戏世界了。
由于玩家 1 的开始点我们放在了村子外,所以在进入游戏后,镜头默认出现在了村子外。
拖动镜头到闪着白光的地方,或者双击 F1,选中单位【山丘之王】。 随后我们可以按照《魔兽争霸 3》的基础操作方式来控制单位——右键移动,按下攻击按钮指定绵羊可以攻击绵羊等等。
继续向左,我们就可以来到村子的边缘。
不过这里现在什么东西都没有,我们按下 Alt+F4 退出游戏(或通过【菜单】【结束游戏】【退出程序】来退出游戏)。
回到地图编辑器,打开单位面板,将玩家栏修改为【中立敌对】。
然后我们可以看到很多内置的怪物。
随意选择一些低等级的怪物,放在村子外面。
此外,我们把红色玩家的开始点移动到玩家英雄的位置,这样在进入游戏后画面可以直接从山丘之王的位置开始。
为了让野外不至于太寒碜,我们把野外的场景再丰富丰富。
现在我们有了一个可以进行基础游玩的场景了。 保存,启动测试,与怪物战斗。
盟友会协助我们战斗:
我们也可以自行去野外战斗:
第二节:自定义角色
如果我们要做的游戏不是另一个魔兽争霸故事,那我们就得有符合我们自己故事的角色。 在第一节我们教学了如何将魔兽争霸自带的英雄和怪物放置到场景上,接下来我们要讲如何创建我们自己设计的英雄和怪物。
在魔兽地图编辑器中,所有游戏内的单位数据,都是通过【物体编辑器】中的【单位】页面来管理的。
每一个在场景上放置的单位,它们都能够在这里找到数据原型。 数据编辑器可以对单位进行全方位的编辑、设计,影响单位的移动方式、视觉效果、战斗力、持有的技能、等等。
通过对这些数据原型进行修改,我们可以编辑魔兽争霸自带所有的单位,影响游戏的战斗体验。 典型的,我们可以修改单位的攻击力、护甲、生命值、移动速度,来直接影响特定单位类型的强度。 如果我们想要改变单位的样貌,就找到单位的模型数据,双击并修改它。
(通过这种方式,我们可以将他人制作或者自己制作的模型,导入到项目中,并放入游戏内使用,我们会在未来的教程中说明如何操作。)
在魔兽争霸 3 的战役故事中有许多英雄,玩家往往也需要操作这些英雄来战斗。但假设我们的 RPG 游戏讲述的是一个地下城恶魔统治了地面村落,并试图侵入其它村落来占领世界统治权的战争故事,并且我们希望玩家扮演一个村庄里自告奋勇的勇者,使我们的玩家从勇者的角度来体验整个故事的剧情发展,那么我们需要设计一个【勇者】单位,来由玩家控制。 接下来我们制作它。
将鼠标移动到左侧列表的【自定义单位】处,右键单击,在弹出的列表中点击【新建自定义单位】。
随后会出现一个新的窗口,用来为我们的自定义单位命名,并选择该单位所使用的基础模板。
我们命名新的单位为【平凡的勇者】,并选择人族的英雄【圣骑士】作为模板。 (如果我们想要制作一个英雄单位,那么我们的模板单位也必须是英雄。)
点击【确定】,我们便获得了一个新的单位类型:平凡的勇者。
在没有做任何修改的情况下,一个新的单位的所有数据会和其【模板单位】的所有数据相同,不过这不是我们想要的。
我们不希望勇者在一开始就拥有强大的圣光加持,并且他也没有什么领袖的力量。因此,我们删掉【技能 – 英雄】里的所有技能。
选中【技能 – 英雄】列后,按下回车键或鼠标左键双击,打开英雄技能列表。
在打开的列表中选中技能,并点击下方的【删除英雄技能】,直到删掉全部 4 个英雄技能。
在完全删除后,点击【确定】,我们便可得到一个没有技能的英雄。
不过现在,我们的【平凡的勇者】的模型仍然使用的是【圣骑士】的模型,这不是我们想要的。我们找到【显示 – 模型文件】,双击,然后找到【村民】的模型。
随后点击确定,我们便得到了一个模型为【村民 (男性)】的【平凡的勇者】角色,这个角色可以作为我们故事的主角。
回到左侧列表,在【平凡的勇者】文字上点击鼠标右键,然后选择【在工具面板中选择】,地图编辑器就会自动帮我们选中【平凡的勇者】。
将平凡的勇者放置到村庄,然后删掉先前我们放置的【山丘之王】英雄。
现在我们获得了一个更接地气的单位,并且可以使用这个单位作为主角来展开冒险了。
显然,我们发现主角的头像图标仍然是【圣骑士】,并且攻击力、护甲和生命值都显得很夸张,主角的称谓【卓尔 - 忏悔者】也不符合我们的故事设定,操作时的声音 逐个修改它们。
在魔兽争霸中,英雄的攻击力、护甲和生命值是通过力量、敏捷、智力计算出来的。 如果我们不想抛弃这既有的规则,那么我们可以直接修改其属性值。
那么如果我们想使用我们自己的数值公式呢?——我们会在未来的教程中教学如何这么做。 不过现在,让我们回到游戏中再看看。
好了,现在我们有符合我们故事的主角了。