当前位置: 首页 > news >正文

【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 循环,不断重绘页面。

http://www.dtcms.com/a/398278.html

相关文章:

  • 【春秋云镜】CVE-2022-30887(文件上传/rce)
  • [iOS] YYModel 初步学习
  • 视频录屏软件 视频录屏软件 Bandicam (班迪录屏) 8.2.2.2531
  • 今天继续学习nginx服务部署与配置
  • flutter 编译报错java.util.zip.ZipException: zip END header not found
  • 网站建设精英京东商城网站域名
  • 《AI工具驱动的分布式任务调度系统从0到1实践解析》
  • C#练习——事件
  • 深拷贝浅拷贝的区别?如何实现⼀个深拷贝?
  • C primer plus (第六版)第十一章 编程练习第10题
  • AgentScope Studio 安装与测试
  • 长沙房产交易中心官网做seo网站空间
  • 金融培训网站源码淘宝基地网站怎么做
  • Spark核心Storage详解
  • 高系分二十:微服务系统分析与设计
  • 深度学习----ResNet(残差网络)-彻底改变深度神经网络的训练方式:通过残差学习来解决深层网络退化问题(附PyTorch实现)
  • 脑电模型实战系列:入门脑电情绪识别-用最简单的DNN模型起步
  • 赣州企业网站建设比较火的推广软件
  • 广州公司网站制作网页游戏排行榜20
  • 算法提升之单调数据结构-(单调队列)
  • PHP 线上环境 Composer 依赖包更新部署指南-简易版
  • 设计模式-原型模式详解
  • ESP8266与CEM5826-M11毫米波雷达传感器的动态检测系统
  • [原创]怎么用qq邮箱订阅arxiv.org?
  • 设计模式-中介者模式详解
  • 【探寻C++之旅】第十四章:简单实现set和map
  • 牛客:机器翻译
  • 20250925的学习笔记
  • 域名不同网站程序相同wordpress多门户网站
  • 淘宝API商品详情接口全解析:从基础数据到深度挖掘