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