📫此文档的功能是帮助同学们
【了解游戏开发流程、对游戏开发各模块有简单的认知、体验式学习】
希望大家在这里更好地学习知识、提升自我
一,学前准备🐟
(一)开发环境配置
1、游戏引擎:Unity 2022.3.3LTS
2、代码编辑器:Visual Studio 2022
3、软件安装教程:Unity和visual Studio软件安装教程-CSDN博客
(二)项目创建
界面布局设置路径:window-->layouts-->2by3
(三)美术资源导入
二、Unity界面介绍
(一)场景编辑窗口(Scene)
我们可以向Scene窗口中添加各种游戏素材以丰富场景的内容。如果我们想在游戏场景中应用我们自己提前准备的素材,则需要从 Project--Assets 窗口中将这些素材拖曳到 Scene 窗口或者Hierarchy窗口中,并且可以通过单击 Unity 3D 窗左上角的按钮,或按 [Q]键、[W] 键、[E] 键、[R] 键对平移工具、变换工具、旋转工具、缩放工具进行选择,分别对 Scene 窗口画面显示的位置和游戏素材在场景中的位置、旋转角度、缩放比例进行调整。
(二)游戏预览窗口(Game)
此窗口的功能为显示游戏运行后的效果。当我们需要测试游戏的新功能时,可以通过单击 Unity 3D 窗口上方的按钮运行游戏,此时Unity 3D 显示的画面会自动切换到 Game 窗口,开发者可在该窗口中查看新功能的实际运行效果
(三)场景物体列表窗口(Hierarchy)
此窗口包含当前场景中所有游戏物体的列表。其中某些游戏物体是独立的物体,而某些则是预制体 (Prefab)。任何新建或者删除物体的操作都会在层级窗口中反映出来。默认情况下,层级窗口中的顺序是物体被创建的顺序,但是这个顺序是可以任意改变的,只需要通过拖曳操作即可实现。层级窗口可以表示物体的父子 (Parent 和 Child) 关系,这也是层级窗口名称的由来。
(四)对象属性编辑列表窗口(Inspector)
Unity 的场景通常是由很多 GameObject 组成的,每个 GameObject 可能包含脚本、声音、模型等多个组件。检视窗口显示了当前选中物体的细节信息,包括 GameObject 所挂载的所有组件,而且还能在检视窗口中修改这些信息。
(五)项目资源管理窗口(Project)
此窗口的功能是存储游戏开发中会用到的模型、UI、动画、音效、脚本、预制体等等资源。我们从 Unity 商店下载的素材都会在Project 窗口中显示。开发者进入创建的 Unity 3D 工程文件后,可在 Unity3D 的菜单栏中执行[Window>Asset Store] 命令进入 Unity 商店。
三、 2D游戏场景与角色制作
(一)2D地图制作(2D Tilemap)
1、在Hierarchy面板,右键点击2D Object-->Tilemap-->rectangular创建一个瓦片地图编辑器
2、选中Tilemap然后点击Open Tile Palette,打开瓦片调色
3、在Tile Palette中,选择方形绘制,然后选择地图样式,然后在场景中框选绘制自己想要的地图(白色的框是摄像机视角,所以最好绘制的地图,超过摄像机视角)
(二)角色制作(角色控制)
1、打开文件夹路径:Undead Survivor-->Sprites-->Farmer 1-->Stand 0,选中Stand 0拖入Hierarchy面板空白处中,然后重命名为Player
2、选中Assets文件夹,右键-->Create-->Folder,创建一个文件夹,命名为Survivor,然后选择Survivor文件夹,右键-->Create-->Folder,创建一个文件夹,命名为Scripts。
3、选中Scripts文件夹,右键-->Create-->C# Script,创建一个C#脚本,命名为Bullet。按照此方式以此创建Enemy、GameManager、HUD、Player、Scaner、Spawner、Weapon等C#脚本。如下图所示:
4、选中Hierarchy面板里的Player,然后在Inspector界面,点击Add Component,以此添加Animator、Box Collider 2D组件和Scaner、Player C#脚本;
5、按照要求编写Player脚本的代码
【在Unity中找到Edit->preferences->Extenal Tools->Extenal Script Editor改为Visual Studio 20**】
注意:(代码编写,一定要区分大小写,用英文输入法编写各种号!!!!代码写完一定要按Ctrl+S进行保存!!! C#脚本名要和class后的类名字一致!!!)
注:(零基础学生,可以不用考虑具体代码是什么意思,跟着实现即可)
6、给你的玩家添加一个动画控制器
7、播放游戏,并且用WASD控制Player,游玩。同时可以检测是否实现我们的需求
(三)摄像机(Cinemachine)
1、按以下路径安装Cinemachine:Window-->Package Manager-->Unity Registry
-->Cinemachine-2.9.7-->Install选择安装,等待安装!!!
2、创建virtual camera,然后按照下图调整virtual camera的参数和赋值。
3、播放游戏,并且用WASD控制Player,游玩。同时可以检测是否实现我们的需求
四、幸存者核心玩法实现
(一)怪物(怪物AI)
1、打开Assets文件夹-->Undead Survivor-->Sprites-->Enemy-->Run 0,把Run 0拖入Hierarchy面板,重命名为Enemy。然后点击Enemy对象,在Inspector界面,点击Add Component依次添加Animator、Box Collider 2D、Rigidbody 2D组件和EnemyC#脚本。
2、修改Enemy对象Sprite Renderer组件(Order in Layer:1)、Animator组件(Controller:ACEnemy 0)、Box Collider2D组件(Is Trigger:勾选√)和Rigidbody 2D组件(Gravity Scale:0)的属性。
3、创建GameManager对象(在Hierarchy面板中鼠标右键选择Create Empty创建空物体,然后重命名为GameManager),并且挂载GameManager C#脚本。
4、代码编写
注意:(代码编写,一定要区分大小写,用英文输入法编写各种号!!!!代码写完一定要按Ctrl+S进行保存!!! C#脚本名要和class后的类名字一致!!!)
(1)Enemy C#脚本代码
(2)GameManager C#脚本代码
5、给GameManager组件的Player变量赋值。
6、播放游戏,并且用WASD控制Player游玩。同时可以检测是否实现我们的需求。
(二)刷怪逻辑
1、在HIerarchy面板中,选中Player然后鼠标右键点击Create Empty,重复5次。然后分别重命名为Shadow、Hand Right、Hand Left、Spawer和weapon。然后选择spawer鼠标右键点击Create Empty,重复10次,然后重名为Point(0)、Point(1)、Point(2)······Point(9)
2、在HIerarchy面板中,选中Shadow对象,然后添加Sprite Renderer组件,然后把Shadow赋值给Sprite Renderer组件的Sprite变量。Order in Layer改为1,Transform组件的Position的Y值改为-0.5
3、依次调整10个敌人刷新点位置
4、把Spawner C#脚本拖给Spawer对象,然后打开Spawner C#脚本,编写代码。
5、编写Spawner C#脚本(完整)
6、创建Enemy对象预制体(创建完预制体之后,Hierarchy面板的Enemy删除掉)
7、给Spawner脚本赋值
8、播放游戏,并且用WASD控制Player游玩。同时可以检测是否实现我们的需求。
(三)攻击、伤害与核心玩法规则
1、创建子弹对象,并给其添加BulletC#脚本、Box Collider 2D(is Trigger:勾选)和Rigidbody 2D(Gravity Scale:0)组件,同时Sprite Renderer组件下的Order in Layer改为1。
2、添加Bullet和Enemy标签
3、添加Enemy层
4、给你Bullet打上Bullet的标签
5、给Bullet对象添加Bullet标签,然后把Bullet对象做成预制体,结束后,把Hierarchy下的Bullet删除掉。
6、给Enemy预制体添加Enemy标签和Enemy层级
7、打开GameManager C#脚本,进行代码编写(完整)
8、打开Bullet C#脚本,进行代码编写(完整)
9、打开Enemy C#脚本,进行代码编写(完整)
10、打开Player C#脚本,进行代码编写(完整)
11、打开Scaner C#脚本,进行代码编写(完整)
12、打开Weapon C#脚本,进行代码编写(完整)
13、给你Player玩家的Scaner脚本的Target Layer赋值Enemy,Player脚本的Scaner赋值Player。
14、把Weapon C#脚本拖拽挂载给Player的子物体Weapon,然后对Weapon赋值。
15、播放游戏,并且用WASD控制Player游玩。同时可以检测是否实现我们的需求。
(四)UI功能实现
1、去demo场景复制粘贴拼好的UI面板到最初的场景
2、将HUD C#脚本挂载给UI Canvas
3、打开HUD C#脚本,进行代码编写(完整)
4、给UI Canvas的C#脚本的各个变量赋值(注意一一对应,不要弄错了)
5、播放游戏,并且用WASD控制Player游玩。同时可以检测是否实现我们的需求。
此教程到此结束了,简单,详细,易使用!很适合新人学习,有问题可以评论区留言哈~