Unity 中文入门教程:从零开始制作你的第一个游戏
目录
-
(图片来源网络,侵删)- 1 什么是 Unity?
- 2 为什么选择 Unity?
- 3 下载和安装 Unity Hub 与 Unity 编辑器
- 4 了解 Unity 编辑器界面布局
-
- 1 场景 - 游戏的舞台
- 2 游戏对象 - 万物之源
- 3 组件 - 赋予游戏对象能力
- 4 资源 - 游戏的素材
- 5 预制体 - 可复用的游戏对象模板
-
- 1 创建新项目和场景
- 2 添加一个地面
- 3 创建一个可滚动的小球
- 4 编写 C# 脚本让小球动起来
- 5 让小球可以跳跃
- 6 添加一个简单的摄像机跟随
-
- 1 官方资源
- 2 国内优秀教程与社区
- 3 学习建议
第一部分:准备工作
1 什么是 Unity?
Unity 是一款由 Unity Technologies 开发的跨平台游戏引擎,你可以把它理解为一个强大的“游戏制作工具箱”,它为你提供了创建 2D、3D、VR、AR 等各种类型游戏所需的一切工具,包括渲染、物理、动画、音频、输入管理等,你不需要从头去实现这些复杂的功能,只需要像搭积木一样,把 Unity 提供的模块组合起来,就能快速构建出你的游戏。

2 为什么选择 Unity?
- 跨平台性极强:一次开发,可以轻松发布到 Windows, macOS, Linux, iOS, Android, PlayStation, Xbox, Nintendo Switch, WebGL 等几乎所有主流平台。
- 学习曲线相对平缓:对于初学者来说,Unity 的可视化编辑器和 C# 编程语言相比 C++ 或其他引擎更容易上手。
- 资源商店丰富:拥有庞大的官方和第三方资源商店,你可以购买或下载大量现成的模型、材质、动画、插件等,极大加快开发速度。
- 社区庞大活跃:全球有数百万的开发者,无论你遇到什么问题,几乎都能在社区、论坛或视频网站上找到答案。
- 免费版功能强大:个人使用是免费的,对于大多数独立游戏开发者和小型团队来说已经足够。
3 下载和安装 Unity Hub 与 Unity 编辑器
Unity Hub 是一个管理工具,用于管理不同版本的 Unity 编辑器、项目和模块。
-
下载 Unity Hub:
- 访问 Unity 官网:https://unity.com/
- 点击导航栏的 "Download"。
- 下载适用于你操作系统的 "Unity Hub" 安装程序并安装。
-
通过 Unity Hub 安装 Unity 编辑器:
- 打开 Unity Hub。
- 在左侧菜单点击 "Installs"(安装)。
- 点击 "Add"(添加)按钮。
- 在弹出的窗口中,选择一个 LTS (Long-Term Support) 版本,LTS 版本更稳定,适合学习和项目开发。Unity 2025.3.x LTS 是一个非常主流和稳定的选择。
- 点击 "Next",然后勾选你需要的模块,对于初学者,"Build Support" (构建支持) 中至少要勾选你目标平台(如 Windows, macOS, Linux)。"Android Build Support" 和 "iOS Build Support" 如果需要移动开发也要勾选。
- 点击 "Done",等待下载和安装完成,这个过程可能需要一些时间,取决于你的网络速度。
4 了解 Unity 编辑器界面布局
安装完成后,通过 Unity Hub 创建一个新 3D 项目,打开 Unity 编辑器,你会看到一个复杂的界面,别担心,我们先认识几个核心区域:

- Scene (场景视图):中间最大的窗口,这是你的游戏世界,你可以在这里摆放、移动、旋转游戏对象。
- Game (游戏视图):右上角的窗口,这是玩家最终会看到的游戏画面,它和场景视图是对应的,但显示的是经过摄像机渲染后的结果。
- Hierarchy (层级视图):左上角的窗口,列出了当前场景中所有的游戏对象,它像一个“家谱”,清晰地展示了对象之间的层级关系。
- Project (项目视图):左下角的窗口,显示了你的项目所有资源文件(模型、贴图、脚本、场景等)。
- Inspector (检查器视图):右上角的窗口,当你选中一个游戏对象时,这里会显示该对象的所有组件和属性,你可以在这里修改对象的名称、位置、旋转、缩放,以及添加或修改组件的参数。
第二部分:核心概念入门
在开始制作游戏前,理解 Unity 的几个核心概念至关重要。
1 场景
一个场景就是一个独立的游戏环境,一个游戏的“主菜单”是一个场景,“第一关”是另一个场景,“过场动画”也是一个场景,你的游戏就是由一个或多个场景串联而成的。
2 游戏对象
游戏对象是 Unity 中最基本的概念。任何东西都是一个游戏对象:一个角色、一把剑、一个光源、一个摄像机、一个UI按钮……它们本身是“空的”,没有任何功能。
3 组件
组件是赋予游戏对象功能的“零件”,一个游戏对象通过挂载不同的组件来实现不同的行为。
- Transform (变换组件):每个游戏对象都自带 Transform 组件,它定义了游戏对象在 3D 空间中的 位置、旋转 和 缩放,没有它,对象将不存在于世界中。
- Mesh Filter (网格过滤器):决定这个对象“长什么样”,它引用一个 3D 模型。
- Mesh Renderer (网格渲染器):负责将模型渲染出来,让你能看到它,它还决定模型的材质和颜色。
- Rigidbody (刚体):使对象受物理引擎影响,可以产生重力、碰撞等物理效果。
- Script (脚本):你编写的 C# 代码也是一种组件,它定义了对象的行为逻辑。
一个简单的例子:一个“立方体”游戏对象,它至少包含了 Transform、Mesh Filter 和 Mesh Renderer 这三个组件。
4 资源
资源是构成游戏的所有素材文件,存储在 Project 视图中,常见的资源类型包括:
- 3D 模型:
.fbx,.obj - 贴图:
.jpg,.png,.psd - 音频:
.mp3,.wav - 脚本:
.cs - 场景:
.unity
5 预制体
预制体是一个已经设置好组件和属性的游戏对象的“模板”或“蓝图”,你可以创建一个预制体,然后在场景中反复使用它,当你修改预制体时,所有基于该预制体创建的实例都会自动更新,这极大地提高了开发效率。
第三部分:动手实践 - 制作一个 3D 小球游戏
让我们用学到的知识,制作一个简单但完整的 3D 小球游戏,目标:控制一个球体在平台上滚动,并可以跳跃。
1 创建新项目和场景
- 打开 Unity Hub。
- 点击 "New"(新建)按钮。
- 给你的项目起个名字,"MyFirstGame"。
- 选择模板,选择 3D。
- 选择一个位置保存项目,然后点击 "Create project"(创建项目)。
- 项目创建后,Unity 会自动打开一个默认的 3D 场景,我们直接使用它。
2 添加一个地面
- 在
Hierarchy视图中,右键点击,选择 3D Object -> Plane (平面),这将成为我们的地面。 - 选中新创建的
Plane,在Inspector视图中,将其Scale(缩放) 的 X 和 Z 值调大一些,10,让它看起来更宽敞。 - 为了方便观察,我们可以给地面一个颜色,在
Project视图中,右键 -> Create -> Material (材质),命名为 "GroundMaterial",然后选中这个材质,在Inspector中点击Albedo颜色块,选择一个你喜欢的颜色(比如灰色)。 - 选中
Plane游戏对象,在Inspector视图中找到Mesh Renderer组件,点击Materials旁边的小圆点,将我们刚刚创建的GroundMaterial拖拽进去。
3 创建一个可滚动的小球
- 在
Hierarchy视图中,右键点击,选择 3D Object -> Sphere (球体)。 - 选中
Sphere,在Inspector视图中,将其Position(位置) 的 Y 值设置为 1,这样它就悬浮在地面上方。 - 为了让球体能受物理影响,我们需要给它添加一个
Rigidbody组件,选中Sphere,点击Inspector视图顶部的 "Add Component" 按钮,搜索并添加 Rigidbody。 - 点击编辑器顶部的播放按钮,你会看到球体因为重力掉落到地面上。
4 编写 C# 脚本让小球动起来
-
在
Project视图中,右键点击,选择 Create -> C# Script,命名为PlayerMovement。 -
双击
PlayerMovement脚本,它会用 Visual Studio (或其他你安装的代码编辑器) 打开,我们将编写控制小球移动的逻辑。using UnityEngine; public class PlayerMovement : MonoBehaviour { // 这个变量用于在 Inspector 视图中设置移动速度 public float moveSpeed = 5f; // Rigidbody 组件的引用 private Rigidbody rb; // 在游戏开始时调用一次 void Start() { // 获取这个游戏对象上的 Rigidbody 组件 rb = GetComponent<Rigidbody>(); } // 每一帧都调用一次,用于处理物理之外的游戏逻辑 void Update() { // 获取玩家在水平方向(X轴)和垂直方向(Z轴)的输入 // Input.GetAxis 会返回 -1 到 1 之间的值 float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); // 根据输入创建一个移动方向向量 Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); // 将移动方向乘以速度,并施加给刚体的速度 // 注意:这里直接修改 velocity,会让物理效果更直接 rb.velocity = movement * moveSpeed; } } -
保存脚本,然后返回 Unity 编辑器。
-
选中
Sphere游戏对象,在Inspector视图中,将PlayerMovement脚本从Project视图中拖拽到这个游戏对象上。 -
点击播放按钮,现在你可以使用 W, A, S, D 或 方向键 来控制小球在平面上滚动了!
5 让小球可以跳跃
-
打开
PlayerMovement脚本,修改如下:using UnityEngine; public class PlayerMovement : MonoBehaviour { public float moveSpeed = 5f; public float jumpForce = 7f; // 新增:跳跃力度 private Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } void Update() { float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); // 水平移动逻辑 Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); rb.velocity = new Vector3(movement.x * moveSpeed, rb.velocity.y, movement.z * moveSpeed); // 跳跃逻辑 // 当玩家按下空格键,并且小球在地面上时 if (Input.GetButtonDown("Jump")) { // 给刚体一个向上的力 rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse); } } } -
保存脚本,回到 Unity。
-
点击播放,现在你可以用 空格键 让小球跳起来了!
6 添加一个简单的摄像机跟随
默认的摄像机是固定的,我们需要让它跟随小球。
- 在
Hierarchy视图中,选中Main Camera。 - 在
Inspector视图中,点击 "Add Component",搜索并添加 "Smooth Follow" 组件。 - 将
Main Camera的Transform组件拖拽到Smooth Follow组件的 "Follow" 字段中。 - 你还可以调整
Smooth Follow的Offset(偏移) 值,比如将 Y 值设为 5,Z 值设为 -7,这样摄像机就会在小球斜后方跟随。 - 点击播放,现在摄像机会平滑地跟随你的小球了!
恭喜!你已经完成了你的第一个 Unity 游戏!虽然简单,但它包含了游戏开发的核心要素:对象、组件、脚本、输入和物理。
第四部分:进阶学习路径与资源推荐
当你完成了第一个小游戏后,你可能想知道接下来该学什么,这里为你推荐一些优质的学习资源。
1 官方资源
- Unity Learn 官方教程:https://learn.unity.com/
这是 Unity 官方提供的免费学习平台,有大量从入门到精通的互动教程和项目,质量极高,强烈推荐。
- Unity 用户手册:https://docs.unity3d.com/Manual/index.html
当你遇到具体功能问题时,查阅官方手册是最准确的方式。
- Scripting API 参考文档:https://docs.unity3d.com/ScriptReference/index.html
查找所有 C# 类、函数和变量的详细说明,是编程时必备的工具。
2 国内优秀教程与社区
- Bilibili (B站):
- 搜索 "Unity 入门教程"、"Unity 从零开始" 等关键词,有大量国内 UP主制作的免费视频教程,马士兵教育、雷猴游戏、Unity官方 等频道。
- B站是学习 Unity 最活跃的中文社区之一。
- CSDN / 博客园:
搜索具体的技术问题,如 "Unity 如何实现角色控制器"、"Unity UI 优化" 等,可以找到很多开发者的经验分享和解决方案。
- 知乎:
在知乎上可以找到关于游戏开发、Unity 行业前景、学习路径等更宏观和深入的讨论。
3 学习建议
- 多动手,少只看:看十遍教程,不如自己动手做一遍,遇到问题,尝试自己解决,这个过程会让你成长最快。
- 由简到繁:不要一开始就想做《原神》或《艾尔登法环》,从克隆一个经典小游戏开始,Flappy Bird》、《俄罗斯方块》、《贪吃蛇》。
- 学会使用搜索引擎:遇到 99% 的问题,别人都已经遇到并解决了,学会用精准的英文或中文关键词搜索,是程序员的核心技能。
- 理解核心概念:不要只记代码,反复理解 游戏对象、组件、脚本、场景、资源 这几个核心概念,它们是 Unity 的基石。
- 加入社区:加入一些 Unity 交流群或论坛,多和同行交流,可以开阔眼界,也能更快地解决问题。
祝你学习愉快,早日开发出属于自己的精彩游戏!
