2D Game-Kit开发记录 作为一款经典的2D游戏,seeker的构成用到了很多U3D中常用的手法和操作,其中包括角色移动,攻击,不同地形的材质处理,机关的触发,敌人系统,以及UI设置等。
1.建立场景 作为整个游戏的基础,场景是玩家进入游戏后所看到的所有事物。 (1)在顶部菜单中选择工具包工具(Kit Tools)
(2)点击创建新场景后,第一个场景也就诞生了。 这是所有工作的基础,算是完成了第一步。 2.构造地形 地形在游戏中是玩家进行移动,进行游戏其他操作的基础。这里我们使用Tilemap,作为绘制地形的工具与材料。打开Window>2D >Tile Palette 选中地形的具体大小后,就可以进行地形绘制了,通常可以平一些,带有阶梯性的最好。
3.设置UI作为初始教程提示 玩家在通常都会有自己心中的默认操作。比如移动通常都是“W,A,S,D"控制上下左右移动,“J,K,L”控制开枪,挥剑等,空格"space"设置为跳跃,为了让玩家明白操作方式,一般游戏中都会在角色进入或路过某个特定节点的时候 触发一个UI对话框。 (1)首先加入一个节点,也就是当玩家路过时可以捕捉此信息作为节点。在预制体(prefabs)>可交换对象(Interactables)>信息传送点(infopost)。将其移入玩家所要经过的路径中。 (2)点击infopost在层级窗口内的预制体名称,进入右方的监视窗口 (3)添加interact On Button 2D 组件,设置好作用对象为”Player“,作用类型,以及UI窗口的出现内容与持续存在时间如图所示: 之后游戏中可出现对应场景:
4.设置移动平台。 2D游戏中为了增加游戏的难度,通常会加入移动平台,来考验玩家对于角色能力以及操作时机的把握。那么这个元素在本作品中自然也是必不可少的。 (1)从可交互对象中拖入”移动平台“ (2)在场景中放置移动平台,并确定移动平台的移动路径与拐点。拐点可在监视窗口内自由添加。 (3)其中每个拐点的坐标,停止时间,以及平台的运动速度,运动路径是闭环(Loop)还是原路返回都是可以自由设置的。(这里我的设置是无停止,闭环方形路径。
5.设置开关触发动画(开关门) (1)玩家需要与场景进行互动来获得更好的沉浸式体验,这里增加了经典的踩按钮开门方式。 (2)角色只要踩在按钮上就能触发门打开的动画,这里需要链接两个预制体,分别是门与开关,当”开关被踩下“这个事件发生时,触发门打开的动画。 这里需要把门的预制体拖入开关的触发盒子中,并把对应反应设置为开门动画,就可以达到开关开门的效果
6.敌人的加入与视野,数值设置 敌人袭击作为游戏中玩家的主要死因,自然也是本作品中不可缺少的元素。 分别设置了两种敌人,一种只会近战撕咬(粉色敌人),而另一种会发射远程攻击(蓝色敌人) (1)由图中的扇形范围表示,绿色部分代表怪物的警觉索敌范围,而红色部分则代表怪物的攻击范围。 敌人的攻击力,攻击范围,血量都是可以在监视窗口中自由调控的,同时作用对象也只有玩家一个,而玩家也可以通过开枪,挥剑来消灭怪物。
7,对一个物体同时施加可推动组件以及破坏性 解谜元素在现代的单机游戏中拥有相当好的提升乐趣作用,其中不限点火把,推箱子,放水,破坏雕像,移动开关构成正确图形(古墓丽影常规操作) (1)要为一个原本设定没有破坏性的物体赋予破坏力,就要用到破坏组件。破坏组件是由破坏脚本构成的,它的原型是一个绿色的方框,只要确定了作用对象后,碰到绿色方框的对象就会被扣血甚至破坏。其伤害数值,作用范围需要在监视窗口中设定。
这里给可推动箱子施加了“破坏属性”后,箱子就会在下落过程中砸中敌人并消灭敌人。
8,通过开关触发移动平台开始移动 (1)移动平台同样也可以加入交互元素,需要玩家手动开启它的运行,这里的添加方式和步骤4相同,不同之处就在于它加入了事件触发机制,在玩家触发开关前,平台不会移动,玩家的跳跃距离也不足以继续游戏。 (2)这里就需要对上方的开关加入触发条件,加入触发对象:“移动平台” 触发事件为:“平台开始移动” 之后平台开始移动,玩家可以继续后面的攻略
9,破坏墙体 (1)墙体的破坏与敌人的破坏类似,都是进行挥剑击打后进行破坏,开辟出一条道路,许多单机大作中的QTE都有用到这个元素。 (2)击打次数取决于玩家的攻击力与石块的血量,二者都是可以在监视窗口中设定的 (3)对石块进行破坏后就可以通过了。 10,获取钥匙并回到起点。 (1)最终主角获得了钥匙,而钥匙也是要有特定的UI来显示玩家获得了它,这里就要加入一个和血量类似的空槽UI来显示。 (2)选中在UI预制体中的KEY canvas,拖入该场景的UI文件夹下,就可以出现上图的效果。 (2)而为了增加游戏的合理性与真实性,钥匙的特性应为捡拾后消失,说明它被玩家收集并进入了背包中。 此为动画的监视窗口,说明钥匙在被捡拾前一直在重复播放漂浮动画。
此为显示的监视窗口,作用对象设置为“玩家”, (3)都设置好后,玩家捡拾钥匙消失,UI中有一格显示获得了一把钥匙。
11.最后一步则是将玩家传送回到起点,来省去玩家跑图原路返回的时间,这里就要用到特殊的预制体Teleporter(传送门),传送门共有三个指标,分别是传送口令,传送时间,以及传送目的地。 这里我设置为interact Pressed,通过案件交互来进行传送口令的输入,按E就可以进行传送,并且传送时间为瞬移,传送地点为同一场景内的起点。也就是游戏一开始所无法使用的传送门 值得注意的是,传送门的使用并不是默认双向的 ,如果你只把触发事件的条件加入到一个传送门中,那么另一个传送门只能作为目的地使用,并不能作为交互对象进行反向传送。也直接保证了玩家必须走开发者所预定的路线。 传送前: 传送后: