本文从零开始,手把手带你制作第一个简单的Unity游戏,教程将详细讲解Unity的基础操作,涵盖从场景搭建、物体创建到核心游戏逻辑实现的全过程,无论你是完全的新手,都能通过本指南掌握游戏开发的基础技能,并亲手打造出属于自己的第一个游戏作品。
你是否曾梦想过亲手创造一个属于自己的游戏世界?当你打开Unity引擎,看到满屏的蓝色网格时,可能会感到无从下手,但实际上,制作一个简单Unity游戏并不需要成为3D建模大师或编程天才,我们就通过一个最经典的“躲避方块”小游戏,带你快速入门,体验开发的乐趣。
第一步:创建项目与环境
打开Unity Hub,创建一个新的2D项目,不要选3D,2D项目界面更简洁,更适合初学者。
进入编辑器后,你会看到“层级”窗口和“检视器”窗口,层级窗口是你的舞台,检视器则是你手中工具的说明书。
第二步:搭建舞台
为了游戏有个开始,我们需要一个地板。
- 在层级窗口右键 -> 2D Object -> Sprites -> Square。
- 给这个方块重命名为“Floor”。
- 在检视器中,取消勾选“Mesh Renderer”(因为我们只需要它的碰撞体)。
- 添加“Box Collider 2D”组件,这是地板的边界,告诉游戏“这里是地面”。
- 将地板的Y轴坐标设为-4,让它位于屏幕下方。
同样地,我们在顶部和两侧创建几个“Wall”作为墙壁,防止玩家掉出屏幕。
第三步:制作玩家
我们创建玩家。
- 在层级窗口右键 -> 2D Object -> Sprites -> Circle,命名为“Player”。
- 在检视器中添加“Rigidbody 2D”组件,勾选“Use Gravity”(使用重力),这样玩家就会掉下来。
- 添加“Circle Collider 2D”组件。
- 添加“Sprite Renderer”组件,并拖入一张简单的圆形图片(或者使用Unity自带的默认图形)。
第四步:编写移动逻辑
这是最关键的一步,我们需要告诉玩家怎么动。
- 在层级窗口右键 -> Create Empty,命名为“PlayerController”。
- 选中Player,在检视器中找到“PlayerController”脚本,将Player拖拽进去(这样脚本就知道控制谁了)。
- 双击打开脚本,编写以下简单的代码:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 5f; // 移动速度
void Update()
{
// 获取水平输入(A/D键或左右箭头)
float moveX = Input.GetAxis("Horizontal");
// 修改玩家的位置
transform.Translate(Vector2.right * moveX * speed * Time.deltaTime);
}
}
保存脚本,回到Unity,按Play键,你应该可以用键盘控制圆球左右移动了。
第五步:增加挑战(敌人)
游戏不能只有一个人玩,我们需要一个障碍物。
- 创建一个新的“Square”,命名为“Enemy”。
- 添加“Rigidbody 2D”(取消勾选Use Gravity,让它像船一样漂浮)和“Box Collider 2D”。
- 创建一个新的空物体“EnemySpawner”。
- 添加脚本“EnemySpawner.cs”,编写生成逻辑:
using UnityEngine;
using System.Collections;
public class EnemySpawner : MonoBehaviour
{
public GameObject enemyPrefab;
public float spawnRate = 2f; // 每2秒生成一个
void Start()
{
StartCoroutine(SpawnEnemy());
}
IEnumerator SpawnEnemy()
{
while (true)
{
Instantiate(enemyPrefab, transform.position, Quaternion.identity);
yield return new WaitForSeconds(spawnRate);
}
}
}
将EnemySpawner放在屏幕上方,并在检视器中将Enemy拖入“Enemy Prefab”槽中。