前言:主要想记录下自己自学的过程、期间遇见的问题、不同版本需要调整的地方,方便以后复习能及时找到对应的部分;同时也希望给想要入门游戏开发、学习unity的各位一些经验,减少一些弯路
学习资料目前主要依靠 unity 官网,我的想法是先根据官方的游戏套件能够做出个可玩的小游戏,这样有一定的正反馈更容易坚持下去
各位未来的游戏大师们,让我们一起努力吧!
下面是学习 unity 过程中经常要用到的一些网站
unity learn:https://learn.unity.com/
资源商店:Unity Asset Store - The Best Assets for Game Making
用户手册:Unity - Manual: Unity User Manual 2022.3 (LTS)
开发工具:unity hub3.7.0、visual studio 2022、rider(和vs 2选1即可)
Unity 界面基本介绍
官方手册地址:Unity 的界面 - Unity 手册
官方将界面分为8个部分,我们重点关注其中五个部分就可以了;
分别是2个视图 C:Game视图、D:Scene视图 和3个窗口 B:Hierarchy窗口、F:Inspector窗口、G:Project窗口
Game视图:模拟游戏渲染最终效果的视图,点击A部分状态栏上的 play 即可运行,pause则是暂停。(注意:运行时对游戏对象进行的修改操作在结束后会还原,修改一定一定要在非运行的情况下)
Scene视图:场景视图,用于编辑游戏场景的地方,可以修改物体大小、位置等属性,可以简单理解为游戏中你看到的东西都在这里进行编辑处理
在 Scene 视图中的左侧存在工具栏,用于游戏对象的拖拽、移动、缩放等;快捷键为 Q、W、E、R、T、Y
Inspector窗口:检查器窗口,可以检查你在 Hierarchy窗口中选中的游戏对象的属性,如位置、大小、脚本、碰撞等信息
Project窗口:项目的资源文件(图片、音乐、材质)、脚本等放在这里
Hierarchy窗口:游戏对象的层次结构
在A状态栏部分的右侧,Layout部分可以选择不同的布局,也可以自定义自己的布局方式进行保存
游戏资源导入
这次学的是 ruby’s adventur,一个2D入门的游戏,官方已经准备好了所有的美术、音乐等资源,我们只需要开发就可以了
官方教程地址:Ruby's Adventure: 2D Beginner - Unity Learn
新建项目
首先我们需要新建一个项目
在 unity hub 中选择新建项目,选择2D模板,选择保存位置和项目名之后点击创建项目,等待一段时间之后就可以看到 unity 的界面了
导入资源
在 unity 资源商店中搜索 2D Beginner: Tutorial;找到对应资源后将其我的资源
打开 unity 编辑器,在导航栏 windows窗口中选择 package manager;
在打开的包管理器窗口中,选择 my assets,选中之前导入的资源,点击右侧的 Download进行下载,等待下载完成后,资源就导入完成了
新建项目的第二种方式
在 unity hub 中选择左侧的学习,找到对应的项目,点击下载即可,这种方式依赖于具体的 unity 编辑器版本,若版本不支持就用第一种方式。
新建场景
下面我们要新建一个游戏场景,简单理解为游戏关卡即可
导航栏 File 选择 New Scene,选择 2D 模板创建,位置选择项目的 Assets/Scenes 目录下,名称叫 MyScene
在 Hierarchy 窗口中可以看到,新的场景只有一个照相机对象,下面我们要创建游戏对象
创建游戏对象
游戏对象的资源可以在官方文档上下载,链接地址我复制过来了,直接用即可:
将图片拖放到 Assets - Art - Sprits 下,unity 会自动将图片转为精灵(unity 无法直接使用我们的 png 图片)
在 Project 窗口中选中 Ruby,在 Inspector 窗口中可以看到对应的信息
现在要将 ruby 导入游戏中,在 Project 窗口中点击左侧的箭头将 ruby 展开,其中就有 unity 为我们创建的 ruby 精灵;
将其拖到 Hierarchy 窗口中,可以看到 Scene 视图中也出现了 ruby
选中游戏对象,在 Inspector 中可以看到对应的属性,所有游戏对象都有 TransForm 属性,其中的 position 属性就表示对象的坐标,因为是2D,所以 z 轴可以忽略不记
将 ruby 的坐标 x、y 改为 0,可以看到 ruby 位于世界原点,和摄像机重合
创建脚本
在 Assets 中创建新文件夹 Scripts,在Scripts 中选中创建 C# 脚本,命名为 RubyController,和官方文档保持一致
双击脚本,编辑器会自动打开代码编辑器 vs、rider或其他
在 Edit - Perference - External Tools 中可以修改编辑器
现在调整代码使 ruby 移动,在 update 模块中输入如下代码;记得 ctrl+s 保存
// 每帧调用一次 Update
void Update()
{
// 声明变量 position,将 ruby 的位置赋值给 position
Vector2 position = transform.position;
// 修改 position 的 x 坐标
position.x = position.x + 0.1f;
// 更新 ruby 的 position,现在 ruby 每帧都会向右移动 0.1单位
transform.position = position;
}
在 unity 中的 Hierarchy 视图中选中 ruby,
在 Inspector 中选择 Add Component - script,选择刚刚创建的脚本;
或在 Project 窗口中直接将脚本拖放到 ruby 的 Inspector 窗口中;
这样就将脚本和游戏对象 ruby 进行了绑定
在 unity 中点击 play 运行游戏,在 Game 视图中就可以看到 ruby 在移动了