GameObject
GameObject
在 unity 中,GameObject 是最基础的物体。它们自己不会实现太多东西,但是它们会作为组件的容器,来实现真实的功能。
例如,一个灯光物体通过将一个 Light 组件联系为一个 GameObject 而被创建。
一个固态立方体物体有 Mesh Filter 和 Mesh Renderer 组件,来绘制立方体表面,还有一个 Box Collider 组件来表示物体的固体体积。
细节
一个GameObject 总是有一个 Transform 组件与它绑定(表示它的位置与方向)且无法移除。其他的能够给予这个物体功能的组件可以通过 Component 菜单或脚本添加。 GameObject -> 3D Object 菜单有许多有用的预构建好的物体。
介绍 Component
你可以在 Inspector 查看 Transform 组件:
- 在Unity编辑器中打开某个 project 的某个 scene。
- 创建一个新的 GameObject ( GameObject -> Create Empty)
- 这个新的 GameObject 被预选了,且 Inspector 显示了它的 Transform 组件,如下图所示:
Transform 组件
创建一个没有 Transform 组件的 GameObject 是不可能的。这个组件定义了 GameObject 在游戏世界和 Scene 视图的位置、旋转和规模。
Transform 组件也具有一个被称为 “parenting” 的概念,这个概念对于使用 GameObject 工作使至关重要的。
其他组件
每个 Scene 都有一个默认的主相机(Main Camera) GameObject。它有几个组件(你可以在 Inspector 查看)
查看主相机的 Inspector,你可以看到它包含额外的组件。即,一个 Camera 组件,一个 GUILayer,一个 Flare Layer 和一个 Audio Listener。所有这些组件都为这个 GameObject 提供功能。
使用组件
一个 GameObject 是许多不同组件的容器。
添加组件
点击 Component -> Physics -> Ragidbody 来为我们之前创建的空 GameObject 添加 Rapidbody 组件,然后按下 Play,你会看到 Transform 的y轴值在减小,这是因为 unity 的物理引擎导致 GameObject 因重力而下落。
编辑组件
与 GameObject 相关联的组件都会有不同的值或属性,在你构造游戏时,你可以对这些值或属性进行修改。其中有两个主要的属性:Values 和 Preferences。
下面这张图有一个带有 Audio Source 组件的空 GameObject。在 Inspector 里的都是默认值。
这个组件包含一个单独的 Reference属性和七个 Value属性。Audio Clip是 Reference属性。当 Audio Source开始播放时,它会试图去播放在 Audio Source属性中引用的音频文件。如果没有引用就会报错。你可以从 Project视图中拖动音频文件到 Reference属性中亦或使用 Object Selector。
To be continued......