目录
项目前期准备
游戏素材导入
学习基于Unity官方提供的2D Game Kit项目资源,链接如下
2D Game Kit | 教程 | Unity Asset Store
储存到我的
资源在Unity中加载并导入就行。
RuleTile文件出bug
打开项目后出现了RuleTile相关的bug,可以参考教程P47的改bug的方法。
【unity2021入门教程】47-2D游戏开发教程系列-02-2DGameKit-01-介绍及改bug_哔哩哔哩_bilibili
1 利用Kit Tools添加新场景
利用导入的Creator Kit创建的Kit Tools菜单创建新的场景,命名为MyScene
观察场景分组
2 使用静态平台:TileMap
官方手册:Unity - Manual: Tilemap (unity3d.com)
TileMap给用户提供了一个快捷制作游戏平台的方式,通过简单的移动就能搭建一个能承载游戏玩家的平台,本身就带有了刚体等组件。
作为一个Unity学习的新手,越快上手做出自己的关卡获得的满足感就越多!在跟着B站UP教程学习时涉及到了这个工具,觉得挺有意思的,先简单的使用一下,之后会再学习。
2.1 打开Tile Palette
2.2 添加Tile
操作起来挺方便的
- 添加:选择想要的tile网格,在Scene中左键点击添加即可
- 移动:右键可以移动场景
- 删除:按住Shift可以快速擦除已添加的tile
还会自动补全tile之间的衔接部分!
3 使用动态平台:MovingPlatform
游戏中,除了一些静态的、固定的仅提供承载、移动作用的平台,还需要一些移动的平台,Kit Tool创建的场景中也包含了这样的动态平台。
Assets -> Prefabs -> Interactables -> MovingPlatform/MovingPlatformlong,将预制件拖入场景中创建移动平台,包含一个主要用来控制平台的脚本Moving Platform Script,以及其他组件。
3.1 移动方式 Platform Type
这是规定平台移动的方式,有下列三种
- Back_Forth:前后移动
- LOOP:循环移动
- ONCE:移动一次
3.2 自定移动轨迹 Add Node
添加的这些Nodes和Preview position一起组成移动轨迹,可以是单一前后移动的平台,也可以是按照一个四边形循环移动的平台。
4 创造更复杂的交互效果:压力板机关开门
这里用到了PressurePad这样一个压力板预制件,实现踩上去之后开门的游戏对象之间的互动效果。
Assets -> Prefabs -> Interactables -> PressurePad,双击查看该预制件,可以看到外观是一个平台。
由几个组件组成,还有声音组件,其中主要是PressurePad脚本组件来控制。
4.1 加入机关对象1:压力板
拖入一个到场景中,观察这个PressurePad,他有一个Box碰撞体属性,意味着这个box的范围内才能实现他的踩踏交互,可以调节这个范围以避免位置太靠近草坪而触发不了机关的情况。
4.2 加入机关对象2:门
Asserts -> Prefabs -> Interactables -> Door,拖入场景中加入机关门。
还需要关联上门和踩踏板机关,在PressurePad的Pressure Pad脚本组件中把On Pressed()和加入的门以及门的开门动画关联上。,就能实现踩上踩踏板后门开的操作。
5 加入敌人
游戏中除了玩家操控的游戏对象,还需要有“敌人”,来丰富游戏,2D Game Kit提供了Enemies资源供我们学习。
每个敌人挂了一些组件,其中主要的敌人动作通过脚本Enemy Behaviour控制。
脚本还将敌人的可视化范围和攻击范围可视化出来了。
6 实现间接攻击:推箱子
项目中还提供了PushableBox从高处推下砸死敌人的操作。
加入一个PushableBox到场景中,它同样又很多组件构成。
这里着重看一下三个Box Collider 2D碰撞体组件:
挂的这三个碰撞体分别实现了
- 从右推箱子
- 从左侧推箱子
- 无法穿过箱子
要想让箱子变成武器,还要挂一个伤害者脚本,将Hittable Layer改成enemy
7 实现人物传送
场景传送提供了一些可操作的对象,实现同一场景、两个场景间的跳转。
例如项目提供了一个TransitionStar,通过改变他的组件来实现两个Transition之间的转换。
以上是跟着教程对2D Game Kit项目的学习,但这已经是一个完整的项目了,只是进行了预制件的学习,下面会跟着教程继续学习2D游戏制作。