Unity(2022.3.38LTS) - 基础概念
目录
一. 场景
二. 游戏对象
三. 组件
四. 标签
五. 静态游戏对象
六. 保存

一. 场景
Unity 场景是游戏或应用开发中的一个重要概念。

Unity 场景的组成元素:
它通常包含了各种游戏对象,比如 3D 模型、灯光、摄像机、脚本组件、音频源等等。
作用:
Unity 场景为开发者提供了一个可视化的空间,用于构建和组织游戏的环境、关卡和交互逻辑。例如,在一个冒险游戏中,一个场景可能是一个神秘的森林,其中有树木、石头、敌人、陷阱以及玩家角色的起始点。
创建和管理场景:
开发者可以通过 Unity 的编辑器轻松创建新的场景,添加、删除和修改其中的对象。还能设置场景的起始状态、加载顺序等。比如,在一个多关卡的游戏中,可以按照关卡的顺序来管理和切换不同的场景。
场景的优化:
由于场景中可能包含大量的元素,为了保证游戏的性能,需要进行优化。这包括减少多边形数量、合理使用纹理、控制灯光数量和复杂度等。例如,对于远处的物体,可以使用低精度的模型来节省资源。
二. 游戏对象
在 Unity 中,游戏对象(GameObject)是构成游戏场景的基本单元。

定义与作用:
游戏对象可以被看作是各种组件的容器。它本身并不具备具体的功能,但通过添加不同的组件,如脚本、碰撞器、渲染器等,来赋予其特定的行为和外观。
常见类型:
比如角色、道具、环境物体等都可以是游戏对象。例如,玩家控制的角色是一个游戏对象,它可能包含了动画组件、移动脚本、碰撞检测组件等。
创建与操作:
可以在 Unity 编辑器中通过菜单或快捷键创建游戏对象,并对其进行移动、旋转、缩放等操作。
组件的添加与组合:
通过为游戏对象添加不同的组件来实现丰富的功能。比如,为一个立方体游戏对象添加刚体组件,使其能受到物理效果的影响;添加音频源组件,使其能播放声音。
层次结构:
游戏对象可以组织成层次结构,方便管理和控制。比如,一个车辆的游戏对象可以包含轮子、车身等子游戏对象。
实例化与复用:
可以通过代码或编辑器操作实例化游戏对象,实现相同类型对象的多次使用,提高开发效率。
游戏对象的销毁:
当不再需要某个游戏对象时,可以通过代码将其销毁,释放相关资源。
三. 组件
在 Unity 中,组件(Component)是赋予游戏对象功能和特性的关键元素。

常见的组件类型:
Transform组件:用于控制游戏对象的位置、旋转和缩放。
- 例如,调整一个立方体的位置,使其处于场景的特定坐标。
Renderer组件:决定游戏对象的外观显示,如网格渲染器(Mesh Renderer)、精灵渲染器(Sprite Renderer)等。
- 比如,为一个平面添加网格渲染器并指定材质,使其呈现出特定的颜色和纹理。
Collider组件:用于碰撞检测,如盒型碰撞器(Box Collider)、球形碰撞器(Sphere Collider)等。
- 当两个带有碰撞器的游戏对象相互接触时,会触发相应的碰撞事件。
Rigidbody组件:使游戏对象受到物理模拟的影响,如重力、力的作用等。
- 给一个球体添加刚体组件,它会在重力作用下下落并与其他物体碰撞。
Script组件:通过编写脚本实现自定义的逻辑和行为。
- 例如,编写一个控制角色移动的脚本组件。
组件的作用:
组件让游戏对象能够实现各种功能,并且可以灵活地组合和搭配,以创建出复杂多样的游戏效果。
组件的添加和移除:
在 Unity 编辑器中,可以通过右键菜单或 Inspector 面板为游戏对象添加或移除组件。
组件之间的通信:
通过脚本可以在不同的组件之间传递数据和消息,实现协同工作。
自定义组件:
开发者还可以根据项目需求创建自己的自定义组件,以满足特定的功能要求。
四. 标签
在 Unity 中,标签(Tag)是用于标识和分类游戏对象的一种方式。

作用:
- 方便选择和分组:通过标签,可以快速选择具有相同标签的一组游戏对象进行操作。例如,在脚本中可以通过标签找到特定的游戏对象。
- 区分不同类型:用于区分不同类型的对象,以便在逻辑处理中进行不同的操作。
- 提高代码可读性:使代码更清晰易懂,明确对象的类别。
设置标签:
在 Unity 编辑器中,可以在 Inspector 面板中为游戏对象设置标签。
使用标签的示例:
假设在一个射击游戏中,有“玩家”、“敌人”和“障碍物”等标签。在编写射击逻辑的脚本时,可以通过判断游戏对象的标签来确定是否是敌人,从而执行相应的射击操作。
另外,如果要实现特定对象的碰撞处理,也可以根据标签来决定碰撞后的行为。比如,当“玩家”与“障碍物”碰撞时,玩家无法通过;而当“玩家”与“道具”碰撞时,获取相应的奖励。
五. 静态游戏对象
在 Unity 中,静态游戏对象(Static GameObject)具有一些特殊的属性和用途。

定义和特点:
静态游戏对象是指在游戏运行过程中不会移动、旋转或改变其形态的对象。它们被标记为“静态”后,Unity 会对其进行一些特殊的优化处理。
优化方面:
- 光照烘焙:静态对象在光照计算中可以进行烘焙,提高光照效果的性能。
- 物理计算优化:减少物理引擎对其的计算量,提高物理模拟的效率。
应用场景:
- 环境建筑:如房屋、山脉等不会移动的大型物体。
- 固定的道具:像桌子、椅子等不会被移动的物品。
设置为静态的影响:
一旦将游戏对象设置为静态,之后对其进行的一些动态修改可能会受到限制。
例如,在一个大型的开放世界游戏中,城市中的建筑物通常会被设置为静态对象,以便在光照和物理计算时进行优化,从而提高游戏的性能,使玩家能够更流畅地体验游戏。
六. 保存
在 Unity 中,保存项目和场景是非常重要的操作。
保存场景:
可以通过以下几种方式保存当前正在编辑的场景:
- 菜单栏:点击“File”(文件)->“Save Scene”(保存场景)或者“Save Scene As...”(另存为场景)。
- 快捷键:通常使用 Ctrl + S(Windows)或 Command + S(Mac)来快速保存场景。
保存项目:
- 同样在“File”(文件)菜单中,选择“Save Project”(保存项目)来保存整个项目的设置、资源等。
自动保存:
Unity 也提供了自动保存的功能,可以在“Edit”(编辑)->“Preferences”(首选项)->“General”(常规)中设置自动保存的时间间隔和相关选项。
保存的重要性:
及时保存可以避免因意外情况(如电脑故障、软件崩溃等)导致的工作丢失。
相关文章:
Unity(2022.3.38LTS) - 基础概念
目录 一. 场景 二. 游戏对象 三. 组件 四. 标签 五. 静态游戏对象 六. 保存 一. 场景 Unity 场景是游戏或应用开发中的一个重要概念。 Unity 场景的组成元素: 它通常包含了各种游戏对象,比如 3D 模型、灯光、摄像机、脚本组件、音频源等等。 作用…...
无人机之飞手必看篇
一、熟悉无人机设备 了解你的无人机:熟悉无人机的各个部分,包括遥控器、电池、螺旋桨和摄像头等。 预飞行检查:在每次飞行前进行预检查,确保所有部件正常工作,螺旋桨牢固,电池充满电。 二、选择适当的飞…...
数据结构(11)——二叉搜索树
欢迎来到博主的专栏:数据结构 博主ID:代码小豪 文章目录 二叉搜索树二叉搜索树的声明与定义二叉搜索树的查找二叉搜索树的插入二叉搜索树的中序遍历二叉搜索树的删除 二叉搜索树 二叉搜索树也称二叉排序树,是具备以下特征的二叉树 (1&#x…...
如何使用和配置 AWS CLI 环境变量?
欢迎来到雲闪世界。环境变量在配置和保护应用程序方面起着至关重要的作用,在使用 AWS CLI(命令行界面)时,它们的使用尤其重要。在这篇博客文章中,我们将深入探讨环境变量的世界,探索它们的用途、它们在 AWS…...
七、流程控制
if语句 在go语言中if语句的写法是比较简单的,也是很常见的 func main() {a : trueif a {fmt.Println("a is true")} }if else 语句 func main() {a : trueif !a {fmt.Println("a is true")} else {fmt.Println("a is false")} }el…...
【通过python启动指定的文件】
通过python启动指定的文件 在 Python 中,可以使用os模块的startfile函数(在 Windows 系统中)或者subprocess模块来启动指定的文件。 以下是使用os模块在 Windows 系统中的示例: import osfile_path "C:\\path\\to\\your\…...
区块链开源的项目有哪些?
区块链领域有许多开源项目,它们覆盖了从基础设施到应用层的不同方面。以下是一些著名的区块链开源项目: 1. Bitcoin (比特币):第一个去中心化的加密货币,源代码在 GitHub 上开源。它实现了区块链技术的基本概念。 2. Ethereum (…...
3152. 特殊数组 II(24.8.14)
题目 如果数组的每一对相邻元素都是两个奇偶性不同的数字,则该数组被认为是一个 特殊数组 。 你有一个整数数组 nums 和一个二维整数矩阵 queries,对于 queries[i] [fromi, toi],请你帮助你检查 子数组 nums[fromi…toi] 是不是一个 特殊数组…...
Android 全系统版本文件读写最佳适配,CV 即用(适配到 Android 14)
结合着Android的历史问题,我们需要这样写才行: 首先 manifest 部分 <manifest><!-- Devices running Android 12L (API level 32) or lower --><uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" a…...
【日记】朋友和他女朋友领证了(368 字)
正文 一定程度上感受到了驻场运维的水深火热,感觉成天到晚都在救火。今天下午就给人修了四五台机器…… 回想了一下,今天貌似还真没干什么。毕竟早上睁眼就是 8:35 了,给人吓得半死。 (感觉 AI 也很智障,当初就是发现音…...
行业大模型:信用评分大模型、生产优化大模型、库存管理大模型、物流行业大模型、零售行业大模型
金融行业大模型:信用评分大模型 信用评分模型在金融行业中扮演着至关重要的角色,它通过对个人或企业的信用状况进行评估,帮助金融机构有效控制风险,提高业务效率。以下是信用评分模型的特点及案例介绍: 信用评分模型…...
VSCode 搭配 Windows 下各种 C/C++ 编译器使用
Visual Studio Code(简称 VSCode)是一款由微软开发的免费、开源的代码编辑器,它支持多种编程语言,包括 C 和 C++。VSCode 提供了丰富的扩展和定制功能,使得开发者能够根据自己的需求进行个性化设置。在 Windows 环境下,搭配合适的 C/C++ 编译器,VSCode 能够成为一个强大…...
【JavaEE】线程池和定时器
🔥个人主页: 中草药 🔥专栏:【Java】登神长阶 史诗般的Java成神之路 ✏️一.线程池 在Java中,线程池(Thread Pool)是一种用于管理并发线程的机制,它提供了一种创建、复用和管理一组…...
《Unity3D网络游戏实战》通用服务器框架
服务端程序的两大核心是处理客户端的消息和存储玩家数据 模块划分 游戏流程 连接阶段:客户端调用Connect连接服务端即为连接阶段。连接后双端即可通信,但服务端还不知道玩家控制的是哪个角色。于是客户端需要发送一条登录协议,协议中包含用户…...
LeetCode404 左叶子之和
前言 题目: 404. 左叶子之和 文档: 代码随想录——左叶子之和 编程语言: C 解题状态: 成功解答! 思路 注意左叶子节点的定义:节点A的左孩子不为空,且左孩子的左右孩子都为空(说明是…...
nodejs操作redis的工具类
const Redis require("ioredis");async function generateStreamID() {// 生成时间戳(毫秒级)const timestamp Date.now();// 生成唯一的序列号const sequenceNumber Math.random() * 1000; // 根据需要生成唯一的序列号// 构建 Stream ID&…...
关于wsl2与win11互联互通的问题
首先搞清楚使用场景。我是在win11上写go做后端api,在WSL2 的Linux上写前端页面。 我发现在windows 里写go语言没啥问题,我的后端api部署在win11上。但是在win11上写前端经常会遇到莫名其妙的故障,一会npm包下不来一会说包之间的依赖结构出问题…...
C++ 类型转换
目录 0.前言 1.C语言类型转换 1.1隐式类型转换 1.2显式类型转换 2.C强制类型转换 2.1 static_cast 2.2 reinterpret_cast 2.3 const_cast 2.4 dynamic_cast 3.为什么C需要4种强制类型转换 3.1类型转换的多样性需求 3.2提高类型转换的安全性 3.3提供更明确的语义 3.4支持高级编程…...
2024挖漏洞给报酬的网站汇总,兼职副业3天收益2k
文章目录 一、众测平台(国内)二、前沿漏洞研究奖励计划三、行业SRC四、企业应急响应中心-SRC-汇总 1、互联网企业2、生活服务、住宿、购物相关企业3、物流、出行、旅游4、金融相关企业5、视频游戏直播社交娱乐6、教育、问答、知识付费7、泛科技通讯物联网云服务8、安全企业9、其…...
0到1学习Google广告(2):掌握展示位置及排名规则丨出海笔记
大家好, 我是专注谷歌广告和谷歌SEO的谷哥哥哥,感谢出海笔记Alan邀请。今天我们来聊聊广告界的大拿——谷歌广告。在这个数字营销的黄金时代,无论是B2B、B2C还是品牌类客户,谷歌广告都是一个不容忽视的战场。那么,如何在这个战场上…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
