1、简介
在上一节中,我们提到过GameObject包含Components,这一节我们将通过讨论GameObject及最常见的Components(Transform Components)来探讨这种关系。
2、创建一个空对象
打开任意 Unity 场景,创建一个空的GameObject(在 Windows 中使用
Inspector视图中查看。
,或在 Mac 中使用
),选择该GameObject并在
一个空GameObject仍包含一个名称(name)、一个标签(tag)、一个层(Layer)和一个变换组件(Transform Component)。
3、Transform Component
在Unity中Transform Component是最基础的Component,也是最重要的Components之一。如果想创建一个没有Component的GameObject是不可能的,因为所有的GameObject的变换属性均由此Component启用。在游戏中,它定义了GameObject的位置(Position)、旋转(Rotation)和缩放(Scale)。
4、Components
Components在Unity中是非常重要的概念,每一个GameObject不仅可以包含一个最基础的Transform Component,还可以包含各种各样自定义的Component。
5、添加Components
可以通过菜单栏的Component向所选的GameObject添加Components。现在我们为刚刚创建的空GameObject添加一个刚体(Rigidbody)。选中该GameObject,然后从菜单栏依次选择“
Component->Physics->RigidBody”,然后你会发现Rigidbody属性出现在Inspector视图中。然后点击“
Play”,你会发现空GameObject的Y坐标值不断减小,这是因为Unity中的物理引擎导致该GameObject在重力作用下下落。
还有一种方法是使用组件浏览器(Components Browser),点击GameObject的Inspect视图中的Add Component按钮即可。
该浏览器不仅可以按类别方便的导航Component,还可以通过搜索来定位Component。
6、编辑Components
GameObject的Components属性值可以在Inspector视图中修改。
在Inspector视图中,在Component的标题上点击右键有些对整个组件的操作。如:复制、移动、删除、重置等。
7、Component和Script的关系
创建脚本(script)并将其连接到GameObject时,脚本会出现在GameObject的Inspector视图中,就像一个Component。这是因为Script在保存时变成了Component。Script只是一种特定类型的Component。在技术层面上,Script编译为一种类型的Component,Unity引擎将其像其他Components一样对待。因此,Script是自己创建的一个Component。