写在前面
LEGO MicroGame是Unity官方发布的、可以在资产商店免费获取的学习模板,提供了一系列预制乐高积木,玩家可以使用这些积木,搭建富有特色和功能的关卡。本篇是我在学习该模板的时候的一些学习笔记,希望能对想要了解Unity的人有所帮助。由于个人能力有限,难免会有疏漏之处,欢迎大家讨论和指正。
文章目录
这个小游戏是为所有喜欢乐高的人准备的。
在这个项目中,你将找到预加载的场景、脚本、音频、教程,以及其他令你激动、可以帮助你开始创造的一切。
即使你是Unity新人,你也可以通过一步步的教程快速入门。
准备好了吗?那就前往Playground场景吧。
Get Start
在这个教程中,你将开始研究Unity编辑器的基础,你将会:
- 试玩小游戏的开始
- 概览Unity编辑器的界面
- 让乐高人仔(Minifig)更快地移动
点击Start开始
进入Play模式
首先,让我们先用Play模式试玩以下游戏。你可以点击工具栏顶部的Play按钮。
更进一步:
- Scene视窗是你可以操作和改动物体的地方
- 当你进入Play模式的时候,Scene视窗将变成Game视窗。
点击Play来进入Play模式
了解游戏
你可以:
- 使用WASD或者方向键移动
- 使用空格键跳跃
- 当人仔在空中的时候,再按一次空格键双跳
- 使用鼠标移动视野
- 使用Tab键暂停并查看选项菜单。
在充分了解游戏之后,再次点击Play来退出Play模式。
在层级界面中选择人仔GameObject
接下来,让我们通过改变移动设置,来提升下人仔的速度。
拓展:
- 所有在你游戏世界内的物体,包括人仔,都是GameObject
- Hierarchy(层级)界面是你管理GameObjects的地方,游戏内的所有物体都被列在这里
- 你可以选择一个GameObject来了解更多相关信息,或者设置它的行为。
在层级界面中,选中人仔GameObject
提升最大前进速度(Max Forward Speed)
最大前进速度组件用于控制人仔的前进速度。
拓展:
- 当你在Hierarchy窗口选择一个GameObject时,你将在Inspector窗口看到它的组件(components)
- 组件包含了让一个GameObject拥有特定功能的特性(property)
- 人仔控制组件(Minifig Controller components)可以让人仔响应玩家输入进行移动。
将Max Forward Speed改为13,点击Next来进行下一步。
保存更改
记得时长保存你的更改,Unity编辑器没有自动保存功能。
在主菜单中,点击File > Save,或者按Ctrl / Cmd + S来保存。
再次进入Play模式
测试一下你刚刚的修改!
点击Play来进入Play模式。
测试你的修改
测试修改后的移动速度:游戏的感觉有什么变化?
(你现在还不能越过地图中间的空隙(gap),但不要担心,下一个教程将修复这个问题)
在结束测试的时候,再次点击Play退出Paly模式。
下一步
在这个教程中,你学会了一些Unity编辑器的基础知识,提高了人仔的移动速度,并且做了游玩测试。
下一节,你将会帮助人仔移动到下一个游戏关卡。
点击教程2:添加平台来继续学习,或者点击Done回到教程总览。
Add a Platform
在这个教程中,你将为玩家创建前往下一个小岛的路径,并继续测试游戏。
点击Start(应该是Next)开始。
添加平台
首先,让我们在游戏中添加一个平台。
拓展:
- 所有在Unity项目中使用的文件(资产)都可以在Project窗口找到
- Project窗口像一个文件管理器,它使用文件夹来管理文件
- 你可以从Project窗口直接拖动资产到Scene视窗中
添加平台
选择平台资产(Platform),拖动到Scene视窗中
调整视角
调整视角从而能够更好的防止平台
- 在Scene视窗中,按住Alt/Option和鼠标左键,拖动调整视角。
- 按住Alt和鼠标右键,或者使用鼠标滚轮,来调整焦距。
调整到合适的视角后,点击Next到下一步
选择移动工具
将新添加的平台和现有的平台连成一条线,使得玩家可以跳过去
在工具栏中,选择移动工具,或者使用快捷键W.
移动平台
你可以使用移动工具来移动当前在Scene视窗中选中的GameObject。
当你选中GameObject的时候,你将会看到移动工具:三个方向箭头,选中可以朝着对应的方向移动。
提示:如果你选择了箭头与箭头之间的方块,你可以同时在多个角度上进行移动
将平台移动到收集物的下面。
![]](https://img-blog.csdnimg.cn/4337a55dbb0145b38bf6e9ba74b26ea7.png)
选择旋转工具
旋转新添加的平台,使其和其他平台对齐
选择旋转工具
在工具栏中,选择旋转工具,或者使用快捷键E
旋转平台
当你选中旋转工具的时候,你可以看到三个不同颜色的圆环出现在平台周围,这就是旋转工具。
每个圆环对应一个轴:
- x轴为红色
- y轴为绿色
- z轴为蓝色
提示:你可能需要使用绿色的y轴圆环来对齐新添加的平台。
对齐平台
按住并拖动圆环来旋转平台,点击Next继续下一步。
进入Play模式
保存并测试。
- 在顶部菜单栏中,点击File > Save
- 或者使用快捷键Ctrl/Cmd + S
进入Play模式。
保存修改,点击Play进入Play模式。
测试
你能够通过添加的新平台到达下一个岛屿吗?如果不能,也不用担心,后面还有机会调整。
在结束测试的时候,再次点击Play退出Play模式。
可选:调整平台的位置
如果你的平台位置不对,调整并再次进行测试。
步骤:
- 在Hierarchy窗口或者Scene视窗选中平台GameObject。
- 使用移动工具和旋转工具来调整位置
- 在Play模式测试
- 保存
点击Next继续下一步。
备注:人仔可以双跳,位置偏一点也是可以跳过去的。
下一步
在这个教程中,你添加了一个平台来帮助玩家在岛屿之间移动。
接下来,你将会激活升降器,进入高层的关卡。
点击教程3:激活升降器来继续下一个教程,或者点击Done返回教程一览。
Activate the elevator
激活升降梯
在这个教程中,你将激活升降梯,使得玩家可以到达上面的关卡。
点击Start开始教程。
添加升降梯积木
在这个乐高小游戏中,你可以通过简单地添加乐高行为积木(LEGO Behaviour Bricks)来添加功能和机制。
就好像组件赋予GameObject各种各样的功能一样,行为积木也可以赋予GameObject各种各样的行为。
你可以使用行为积木快速创建自己的场景,供玩家探索。
行为积木和积木连接系统(Brick Connecting system)并不是标准Unity的内容——他们只在这个游戏中存在。在这个教程中,你将学到他们的功能。
让我们开始帮助玩家移动到岛屿的上层关卡吧。
添加一个升降梯积木
在Project窗口中,选择Elevator Behaviour Brick,拖入Scene视窗中。
激活积木搭建(Brick Building)
在开始搭建行为方块之前,你需要激活积木连接(Brick Connecting),这样你就可以把积木安在对应位置了。
你可以在Scene视窗的LEGO工具中激活这一功能。
-
左边的按钮(积木搭建)控制连接功能的开启与关闭。
快捷键:Ctrl + Alt + N
-
右边的按钮(积木选择)设置移动模式,可以选择移动单个或者移动相连的积木组。
快捷键:Ctrl + Alt + K
点击左侧的积木搭建按钮,让它变成激活状态(蓝色)。
给平台装上升降梯
现在你已经激活了积木连接,可以将静态平台变成升降梯了。
- 将升降梯积木拖到平台上。
- 当连接积木的时候,会有咬合的感觉,就好像现实世界的LEGO积木一样。
- 如果你将积木放到了合适位置,再次点击开连接
将升降梯积木放置到合适的位置。
进入Play模式
现在,来测试以下升降梯吧。
点击Play,进入Play模式。
测试升降梯
现在升降梯已经可以使用了,你可以研究剩下的游戏内容,试试看能不能找到终点,并结束任务。
当你结束测试的时候,再次点击Play来退出Play模式。
给升降梯添加触发器
现在的升降梯会自动升降,需要通过设置触发器,让升降梯只在玩家踩上去的时候才移动。
在之前的部分,你将平台转换成了升降梯,使用了第一种行为积木:动作积木(action bricks),动作积木可以让GameObject平台做出特定动作(对于升降梯积木,这个动作是上升和下降)。
你也可以给平台加一个触发积木(trigger brick),触发积木用来确定平台什么时候进行动作。
使用碰撞触发器(Touch Trigger),可以让平台在玩家站在上面的时候才激活升降梯。
添加一个触发积木
选择黄色的碰撞触发积木,拖动到场景中。
给平台装上触发器
将新的行为积木连接到平台上。
选中并将碰撞触发器连接到平台上。
进入Play模式
保存并进入游戏模式进行测试。
测试升降梯
升降梯的效果怎么样?
在结束测试后,再次点击Play来退出Play模式。
下一步
在这个教程中,你激活了升降梯,并添加了触发器,使得升降梯在玩家接触的时候才会移动。
下面,你将修改玩家在游戏内的任务(胜利条件)
点击教程4:修改胜利条件来继续,或者点击Done回到教程总览。
Change the win condition
在这个教程中,你将研究游戏中的一个重要方面:胜利条件。玩家只有在达到胜利条件的时候才能获得游戏胜利。
现在,玩家只需要到达目标平台就能够胜利,这太简单了。
让我们调整胜利条件,带给玩家更多乐趣吧!
点击Start开始
查看游戏终点
终点的颁奖台有两个行为积木,其中一个是你熟悉的碰撞触发器。
让我们更仔细地研究一下它们。
点击画着奖杯图标的绿色行为积木。
查看胜利积木
这个绿色的行为积木叫做胜利行为积木。它定义了玩家胜利的条件。
拓展:
- 当你将胜利积木和触发积木组合在一起的时候,你就创建了一个胜利条件:当触发积木被激活的时候,玩家就获得了胜利。
- 如果没有设置胜利条件,玩家会在游戏开始的时候立即胜利。
点击画着手图标的黄色行为积木
查看碰撞触发积木
游戏内对象的动作由连接在对象上面的动作积木定义,黄色的触发积木则定义何时执行这个动作。
**注意:**如果没有动作积木,触发积木没有任何作用
当玩家到达领奖台平台的时候,领奖台上的碰撞触发积木会激活胜利条件。
点击Next继续。
删除触发积木
让我们删除掉碰撞触发积木,换一个其他的触发积木上去,看看是什么效果。
**提示:**你也可以使用快捷键Del(在macOS是Cmd + Del)来删除。
在顶部菜单栏,点击Edit > Delete
点击Next继续
添加拾取触发器(Pickup Trigger)
让我们添加另一个触发器作为胜利条件。
添加拾取触发器。
选择黄色的Pickup Trigger,拖入场景中。
将拾取积木和胜利积木连接
将这个新的触发器和胜利积木连接。在开始之前,先复习一下场景视窗中的LEGO工具,确保:
- 开启积木建造功能
- 开启单个积木选中
将积木连接
- 点击并拖动拾取触发器,拖到胜利积木上方
- 再次点击,将积木连接
- 点击Next继续
进入Play模式
测试你的修改,研究一下拾取触发器设置的胜利条件是什么。
点击Play进入Play模式
测试
加载游戏后,提示信息从之前的“研究关卡”变成了“收集所有的掉落物”.
在收集所有的结晶体之前,玩家都不会胜利
拓展:
- 关卡中的晶体都有拾取动作积木——这也是为什么你可以收集它们的原因。
- 当你收集到晶体的时候,左上角的计数器的计数会增加
在结束测试的时候,再次点击Play退出Play模式。
修改提示信息
你已经成功修改了胜利条件,但“收集所有的掉落物”这一提示信息,对玩家来说不是很清晰。
让我们修改一下
选中场景中的胜利动作方块
修改提示信息
胜利动作组件控制胜利条件,以及达到胜利条件的时候应该怎么做。
拓展:
- 和游戏世界中的其他任何事物一样,胜利动作方块也是GameObject
- 当你选中一个GameObject的时候,你可以在Inspector中看到控制它的组件
打开文本界面
点击Objective for Pickup Trigger折叠栏,展开界面
点击Next继续
修改提示信息
这个组件包含两个可以修改的字段:Title和Details
在关卡中指引玩家的提示信息,由这些字段定义。
修改提示信息
按你的想法修改提示信息,点击Next继续
进入Play模式
现在保存并进行测试。
下一步
在这个教程中,你制定了胜利条件,你可能也加入了失败条件
随意使用这些胜利或者失败动作积木来创建你自己的游戏吧。
下一步,你将给玩家添加敌人来增加难度。
点击教程5:添加敌人来继续,或者Done回到教程总览。
做点修改
可以按自己的喜好,自由添加一些修改,例如:
加个限时
收集完物品后必须抵达终点才算胜利
Add an Enemy
在这个教程中,你将会使用LEGO行为积木,在游戏内添加一个敌人
点击Start开始。
添加敌人角色
创建敌人的第一步是添加敌人,让我们先添加只鸟。
选中Galo并将拖动到场景视窗中
选择一个射击积木(Shoot Brick)
为了让这只鸟可以射击,给它添加一个射击动作
选择Shoot动作积木,拖动到场景中。
将射击积木连接上去
将射击积木连接到鸟上。
提示:
- 射击积木的方向是由积木的图标和空洞指示的
- 如果想要旋转积木的话,使用四周的箭头图标
连接行为积木
- 将射击积木移动到鸟的身上,你可以通过咬合判断是否可以连接
- 再次点击,将积木连接到鸟的身上
进入Play模式
测试一下加入敌人之后的游戏。
点击Play进入Play模式。
测试修改的内容
在测试的过程中,思考下这个敌人是如何提升玩家的游戏体验的。
再次点击Play,退出Play模式
添加视野方块(Look At Brick)
现在这只鸟可以射击了。但我们可以通过添加视野,让鸟可以寻找玩家,射击的更准些。
选择Look At动作积木,拖动到场景中。
将视野积木连接
现在,你需要将视野积木连接到鸟的身上
提示:
- 在积木建造模式下,你可以通过咬合判断是否可以连接积木
- 视野积木上面的眼睛图标会一直试着朝向玩家
- 使用箭头来旋转积木
连接行为积木
- 将视野积木移动到鸟身上
- 点击来连接
- 点击Next继续
调整射击积木
接下来,让我们在Inspector中,调整一下射击动作积木的行为。
选中场景中的射击动作积木
调整射速(Velocity)和精准度(Accuracy)
接下来,让我们调整下射击动作组件的射速和精准度。
拓展:
- 射速越高,投射物打向玩家的速度就越快
- 精确度越高,打中目标的几率就越高
- 输入一个值,或者按住并拖动属性栏,调整属性。
调整射速和精准度属性
进入Play模式
测试一下对鸟做出的修改。
保存修改后,点击Play进入Play模式
测试
在测试的时候,思考下这次做出的修改会对玩家的游戏体验造成怎样的影响。
再次点击Play,退出Play模式
可选:调整出合适的射速和精准度
如果射速和精准度不是很合适,可以在这一步继续调整。
记住操作步骤:
- 选中场景中的射击动作积木。
- 在Inspector中,找到Shoot Action component组件
- 调整射速和精准度
- 测试并保存
点击Next继续
下一步
在这个教程中,你添加了一个危险的鸟敌人
下一步,你将研究新的岛屿,并找到更多射击自己游戏的方法。
点击教程6:设计你的游戏继续,或者点击Done回到教程总览。
Customize your game
到此为止你已经完成了一个基本的游戏,现在让我们研究一下起点后面的秘密小岛
点击Start开始
添加爆炸积木(Explode Brick)
在你前往小岛之前,你需要先通过栅栏。即使是双跳也没法通过栅栏。
幸运的是,有一个LEGO行为积木可以帮你炸掉栅栏。
选择Explode积木,拖入场景中
将爆炸积木连接到栅栏上
接下来,将爆炸积木连接到栅栏上。
提示:在启用积木建造的情况下,可以通过咬合判断是否可以连接。
连接爆炸积木
- 将爆炸积木移动到栅栏上。
- 点击来将积木连接。
添加雷管地基
让我们继续设置爆炸积木,使得玩家可以引爆它。
首先,让我们给添加一个地基,从而可以安装雷管。地基应该在远离栅栏的安全位置。
选择Altar并拖入场景中
备注:这个地基是可选的,本节的重点是设置Touch Trigger的target属性,使得该积木可以触发爆炸积木
添加碰撞触发器
接着,让我们添加一个行为积木,使得玩家可以引爆它——这个积木是你很熟悉的碰撞触发积木
提示:在启用积木建造的情况下,通过咬合来判断是否可以连接。
连接碰撞触发
- 在Project窗口,选择黄色的Touch Trigger积木,拖入场景中
- 将它连接到Altar上
配置雷管/起爆器
现在你需要配置碰撞触发积木,使它可以激活栅栏上的爆炸积木。
拓展:
- 即使间隔一段距离,你也可以使用触发器来激活动作积木。
- 当你设置碰撞触发激活爆炸积木的时候,你可以看到两者之间有一条连线。
在Inspector窗口,找到Touch Trigger组件
设置目标(Target)属性为特定动作(Specific Actions)
点击展开特定动作(Specific Actions)折叠栏
在Specific Actions这点栏中,通过将Size设为1,添加一个动作
- 点击Select Action按钮,选中动作选取窗口(Action Picker window)中的栅栏爆炸(Fence Explode)
可选:调整难度
你已经给玩家设置了一个富有挑战性的关卡:越过鸟敌人,炸掉栅栏,双跳到达小岛。
你可能想要调整难度。下面是一些建议:
- 添加一个平台或者其他物体,使得跳跃距离更短
- 调整射击积木的设定,让鸟敌人的威胁性小一些(你也可以移除射击积木)
- 试试你自己的想法
自由的调整和测试你的游戏吧。
点击Next继续
进入Play模式
保存你的修改并测试起爆器和爆炸积木。
点击Play进入Play模式
测试
在游戏开始的时候向右转,激活起爆器,接着到达右边的小岛。
再次点击Play退出Play模式
设计你自己的游戏
在这个小岛上,你发现了更多不同的LEGO行为积木。
尝试将物体和行为方块组合起来,提升玩家的体验和游戏环境。
多多研究和创造。
这个Unity项目包括:
- 在LEGO Behaviour Bricks文件夹里,有许多不同的行为方块
- 在LEGO Models文件夹里,有许多物体和角色可以使用。
想要使用这些资产的话:
在Project窗口,点击Assets > LEGO > Prefabs,选择你想要研究的文件夹
点击Next继续。
下一步
和现实中的乐高一样,在这个小游戏中,你可以使用积木和角色发挥自己的创造力
如果你想要了解更多结构性的引导,进一步设计自己的游戏,请查看LEGO小游戏创造力模组
注意:这个链接会使用你的默认浏览器打开Unity Learn网站。
你也可以研究Playgound场景,并在里面做实验
在下一个教程中,你将学会如何从Unity资产商店导入资产。
点击教程七:导入资产继续,或者点击Done回到教程总览。
Import assets
在这个教程中,你将会学到如何导入资产,并且向你的项目中添加一个新的资产。
Unity资产商店有许多免费商业化的资产,可以支持你的创作。
材质、动画、模型,乃至项目范例、教程、编辑器拓展,都可以是资产。
点击Start开始。
打开并搜索资产商店
你可以通过编辑器内的Asset Store标签访问Unity资产商店。
备注:如果没找到Asset Store视窗,可以在顶部菜单栏,Window > Asset Store打开
点击Scene和Game视窗标签旁边的Asset Store标签
点击Search Online后,会使用你的默认浏览器打开资产商店网站
- 在网站搜索栏中,搜索”lego microgame",选择搜索结果中的Danger Zone资产
点击“添加至我的资源”,在成功添加资产后,回到Unity编辑器的资产商店标签中,点击“Open Package Manager"
点击Next继续
导入资产
你可以使用Package Manager下载和导入资产
在包管理器的顶端,下拉菜单选择My Assets
点击Danger Zone资产,接着点击Import打开导入窗口
备注:如果没下载的话,只能看到Download按钮(右下角),需要先下载才能导入
在导入窗口中,点击Import导入
查找并且放置资产
你可以在Project窗口的Asset文件夹中找到导入的资产。
- 在Project窗口中,点击Asset > AddOns > MgLEGO Dange Zone找到导入的资产
- 在这个文件夹中,点击Prefabs > LEGO Models > Obstacles。
- 选择Bridge Short,拖入场景中
调整资产
将这个桥移动到人仔可以到达的位置。
提示:尝试将起点和右边的岛连起来
使用移动和旋转工具,将桥调整到合适的位置。
如果你想复习下如何使用这些工具,可以回到[Add a platform](#Add a Platform)教程
测试
调整好之后,进行测试。
你可以使用Play按钮进入和退出Play模式。尝试通过这个旋转的桥
随意调整这个桥,然后再做测试
下一步
在这个教程中,你学会了如何向项目中导入、查找并且放置资产。
在下一个,也是最后一个教程中,你将会学习如何在网站上生成并发布你的项目。
点击教程8:生成和发布继续,或者Done返回教程总览。
Microgame Mods
这部分的教程是可选的,且官方已经中文化了,不用翻译,只做个概述。
更改人仔
首先在Project窗口,Asset > LEGO > Prefabs > LEGO Minifigs,选一个人仔放在起点。
删除掉之前的人仔(层级里面名字是Player Minifigs)。
为了让视角跟随新的人仔,需要调整相机设置。选中层级中的Third Person Free Look,将CinemachineFreeLook的Look和Follow项的对象改为新加入的人仔。
保存并测试。
添加锁定区域
这步还是behaviour brick应用,使用move移动笼子门,使用touch brick,设置target为特定动作,size调1,选择动作为前面的move。
最终效果是一个能被远程激活的笼子门。
这个笼子的门和其他部分是分开的,所以放在门上的move只会作用到门上,不会影响其他部分。
另外记一个快捷键Ctrl + D,在选中一个物体的情况下这个键可以原地复制
创建新敌人
这一步是自己拼一个物件,然后保存为预制件(Prefab)。
首先拖点预制件进来,层级里右键,将预制件解包(Unpack Completely),可以通过前面的方块的是否仍为蓝色判断是否已经解包
大概拼一拼,加点行为方块。有的时候会卡住,把多出来的那些零件重新安一次就能绑定上了。
最后把整个拖进Project窗口,就保存为预制件了
![]](https://img-blog.csdnimg.cn/702311908c5b4315b8e8334506651b36.png)
Build and Publish
在你发布你的游戏之前,在LEGO Creative Mods尝试下更多的设计你的游戏的方法。
当你准备好发布的时候,这个教程将引导你完成在网站上生成和发布游戏的过程。
奖励:在你发布游戏后,你将解锁Knight’s Kingdom,一个充满中世纪资产的堡垒(这是个资产包)
注意:
- 上面的Creative Mods连接会使用你的默认浏览器打开
- 记住,生成项目需要花费一定时间
点击Start开始
打开WebGL Publisher
在这个教程中,你将把小游戏项目导出为WebGL 游戏,你的游戏将拥有自己专用的网页。
打开WebGL Publisher窗口
在顶部菜单栏,点击Publish > WebGL project
开始发布
现在你已经打开了WebGL Publisher窗口,你可以在窗口中调试号Unity编辑器,将项目发布在Unity Play上。
在WebGL Publisher窗口中,点击Get Started.
如果没安装过的话,会提示先安装,需要在Unity Hub里,找到项目对应的编辑器版本,设置 > 添加模块,在打开的窗口中找到WebGL Publisher Support
生成游戏
在发布游戏之前,你需要先生成这个游戏。生成会得到一个游戏的可执行文件,这个文件可以在你的电脑上运行。
注意:
-
这一步可能要花费30分钟
-
如果你被要求切换到WebGL,点击Switch to WebGL,并选择一个文件夹用于存储生成文件即可
- 你可以使用默认文件夹,也可以创建一个新的文件夹
创建生成
点击Build and Publish
当生成完成后,点击Next继续
分享你的游戏
你基本已经准备好分享这个游戏了。在分享到Unity Play之前,你需要对这个游戏做一些细节上的说明:标题,描述,以及缩略图等。
你最好也多测试几次,从而保证游戏正常运行。
你的旅程还没有结束:
- 准备好你的游戏后,将它发布出去,让其他人也能玩到
- 在发布之后,你将收到Knights’ Kingdom资产包作为奖励。
- 你也可以尝试更多Unity Learn上面的其他小游戏。
- 在Unity Essentials中学习更多内容。
点击Done回到教程总览。