【Unity 入门教程】二、核心概念

前言

在进行游戏开发之前,需要了解一些游戏相关的核心概念,有利于对游戏开发框架有一定理解能力。

复制代码
简而言之,Unity = 场景(Scene) + 物体(GameObject) + 功能(Component + Script) + 资源(Assets),所有东西都在每帧循环中更新和渲染。

速记表

概念 是什么 类比(前端/现实世界) 理解方式
Scene(场景) 游戏运行的空间/关卡 网页的页面 一个游戏可包含多个场景,如登录场景、战斗场景
GameObject(游戏对象) Unity 世界里的所有东西(角色、树、灯、摄像机) DOM 节点(div、img、button) 是容器,本身没功能
Component(组件) 赋予 GameObject 功能的模块 DOM 的属性 / CSS + JS 物体的行为和外观由组件决定
Transform 位置、旋转、缩放 style: position/rotate/scale 每个物体都必须有
Rigidbody(刚体) 让物体受物理力影响(重力、推力) 物理引擎里的动力学 物体才会"掉下来"或被推
Collider(碰撞体) 定义物体的物理边界 div 的点击区域 用于检测碰撞或触发
Script(脚本) 用 C# 写的逻辑 JS 脚本/React 逻辑 控制交互,如键盘输入、移动
Prefab(预制体) 可复用的 GameObject 模板 React 组件 一张卡牌的模板,可实例化多个
Camera(摄像机) 决定玩家看到的画面 浏览器 viewport / 摄像机 没有相机就看不到世界
Lighting(光照) 控制光影和氛围 CSS 的 box-shadow + filter 没有光源就一片漆黑
Assets(资源) 模型、贴图、音效、脚本的集合 /public 或 /assets 文件夹 游戏的素材库
Game Loop(游戏循环) 每帧处理输入、逻辑、物理、渲染 requestAnimationFrame 循环 游戏实时运行的核心机制

1. 场景(Scene)

类似网页界面,是游戏运行时的一个独立空间。

一个游戏可以有多个 Scene。比如:登录界面、战斗场景、结算界面。

开发时,你在 Scene 里放各种物体(3D Cube、模型、灯光、摄像机)。

理解方式:游戏从"主菜单场景"跳到"战斗场景",再切到"结算场景",就像网页跳转。

2. 游戏对象(GameObject)

Unity 世界里的 一切东西都是 GameObject(方块、角色、灯光、相机)。

但 GameObject 本身只是一个"空容器",没有功能。

功能由组件(Component) 决定。比如,前端里 div 是个空盒子,样式/逻辑要靠 CSS/JS 脚本去赋予。

理解方式:GameObject 只是容器,没有功能,需要组件来赋予它行为。

3. 组件(Component)

挂载在 GameObject 上的"功能模块"。

常见组件

  • Transform:位置、旋转、缩放(每个物体都必须有)。
  • Rigidbody:让物体受物理影响(重力、碰撞)。
  • Collider:碰撞体,决定物体是否能和别的东西碰撞。
  • Script(C# 脚本):你写的逻辑。

类比:前端的 CSS + JS 属性,决定 DOM 的样子和交互。

例子:

  • Transform(位置/旋转/缩放)= div 的 style
  • Rigidbody(刚体)= 让物体受物理力影响
  • Collider(碰撞体)= 定义物体边界

4. 脚本(Script,C#)

Unity 用 C# 脚本 写逻辑。

常见生命周期函数

  • Start():物体创建时运行一次。
  • Update():每帧都会执行(适合实时输入检测)。
  • FixedUpdate():每帧固定时间运行(适合物理运算)。
  • LateUpdate():在所有 Update() 之后运行(常用于摄像机跟随)。

理解方式:脚本通过 Update() 每帧运行,持续控制 GameObject。

5. 物理系统

类似于模拟的现实生活中的物理系统。

类比:前端里的 碰撞检测 / 动画引擎,但更强大。

常见物理模型有

  • Rigidbody(刚体):受重力和力的影响。
  • Collider(碰撞体):形状边界,决定是否能"撞上"。
  • Trigger(触发器):一种特殊 Collider,不阻挡但能触发事件(类似 onClick)。

Rigidbody + Collider = 球能落地

Trigger = 碰到某个区域触发事件

6. 摄像机(Camera)

决定玩家看到的画面。

你可以有多个 Camera(主角视角 / 小地图)。

类比:网页中的 viewport,但可以随时移动/旋转。

理解方式:如果没有 Camera,就像前端没有渲染 DOM。

7. 光照(Lighting)

灯光决定物体的亮暗和阴影。

常见光源:Directional Light(太阳光)、Point Light(灯泡)、Spotlight(手电筒)。

类比:前端里的 CSS box-shadow + filter。

理解方式:没有光,3D 世界就是一片漆黑。

8. 预制体(Prefab)

可以理解为 组件模板 / 可复用对象,现实生活中理解成预制菜

类比:React 里的 可复用组件。

例子:你做了一张卡牌,把它保存为 Prefab,以后生成 100 张卡牌时直接实例化。

9. 资源(Assets)

你在 Unity 里用到的一切素材(模型、贴图、音效、脚本)。

类比:前端的 静态资源目录(/public、/assets)。

10. 运行循环(Game Loop)

Unity 的游戏本质上是一个循环:

Unity 每帧执行的逻辑:

  1. 处理输入(键盘/鼠标/手柄)
  2. 更新逻辑(脚本)
  3. 更新物理(重力、碰撞)
  4. 渲染画面(Camera 输出)

类比:前端的 requestAnimationFrame 循环,不断重绘页面。

相关推荐
天人合一peng10 小时前
unity 生成标记根据背景色标记变色
unity·游戏引擎
天人合一peng14 小时前
unity 生成标记根据背景色变色为明显的颜色
unity·游戏引擎
魔士于安14 小时前
Unity 超市总动员 超市收银台 超市货架 超市购物手推车 超市常见商品
游戏·unity·游戏引擎·贴图·模型
CandyU214 小时前
Unity —— 数据持久化
unity·游戏引擎
zh路西法14 小时前
【Unity实现Oneshot胶卷显形】游戏窗口化与Win32API的使用
游戏·unity·游戏引擎
迪捷软件15 小时前
显控系统虚拟仿真的工程化路径
游戏引擎·cocos2d
凡情19 小时前
android隐私合规检测
android·unity
小贺儿开发19 小时前
Unity3D 本地 Stable Diffusion 文生图效果演示
人工智能·unity·stable diffusion·文生图·ai绘画·本地化
Swift社区20 小时前
传统游戏引擎 vs 鸿蒙 System 架构
架构·游戏引擎·harmonyos
mxwin1 天前
Unity Shader 半透明物体为什么不能写入深度缓冲?
unity·游戏引擎·shader