GameObject是Unity编辑器中最重要的东西。游戏中的每个对象都是一个GameObject。这意味着你想像的一切都必须是GameObject。但是, GameObject不能自己做任何事情;你必须先赋予它属性, 才能使其成为角色, 环境或特殊效果。
GameObject是一个容器;我们必须向GameObject容器中添加片段, 以使其成为角色, 树, 灯光, 声音或你想要的任何其他形式。每一块称为一个组件。
根据你要创建的对象类型, 将不同的组件组合添加到GameObject。你可以比较一个带有空锅的GameObject和组成不同游戏配方的具有不同成分的组件。 Unity具有许多不同的内置组件类型, 你还可以使用Unity Scripting API制作自己的组件。
要记住的三个要点:
- 游戏对象可以包含其他游戏对象。此行为允许组织和关联彼此的GameObjects。更重要的是, 对父级GameObjects的更改可能会影响其子级?稍后, 将对此进行更多介绍。
- 将模型转换为GameObjects。 Unity为模型的各个部分创建GameObject, 你可以像其他任何GameObject一样对其进行更改。
- 层次结构中包含的所有内容都是一个GameObject。甚至诸如灯光和照相机之类的东西都是GameObjects。如果它在层次结构中, 则它是一个受你命令约束的GameObject。
在Unity中, 我们可以使用Instantiate函数创建一个GameObject, 该函数将创建一个现有对象的新副本:
public GameObject enemy;
void Start() {for (int i = 0;
i <
6;
i++) {Instantiate(enemy);
}}
Unity还可以提供销毁功能, 该销毁功能用于在帧更新完成后或短时间延迟后销毁对象:
void OnCollisionEnter(Collision otherObj) {if (otherObj.gameObject.tag == "Missile") {Destroy(gameObject, .5f);
}}
【Unity GameObject解释和用法详细示例】请注意, 销毁功能还用于销毁单个组件, 而不会影响GameObject本身。一个常见的错误是编写如下内容:
Destroy(this);
推荐阅读
- Unity安装详细步骤图解实例Unity
- Unity教程入门介绍
- Unity基本概念简介
- Swift Optional介绍和详细用法示例
- 全链路压力测试平台
- 领域驱动设计 - 战术设计 - 3/3聚合与模型的构建方法
- Netty进阶 -- 非阻塞网络编程 实现群聊+私聊+心跳检测系统
- MSTP+VRRP+静态路由+子网划分+DHCP实验案例
- ICDE 2022稀疏模型训练框架HybridBackend,单位成本下训练吞吐提升至5倍