在菜单中,您可以选择创建新的gameObject或组件,例如按钮。它们似乎都具有相同的属性。
我知道组件可以附加到其他控件上,而gameObjects本身就是完整的对象,但是应该在何时以及为什么使用它们?
深刻的洞察力会有所帮助。
答案 0 :(得分:1)
在菜单中,您可以选择创建新的gameObject或a 例如,按钮的组件。他们俩似乎都一样 属性。
GameObject菜单用于在场景中创建新对象。 “组件”菜单用于向所选场景对象添加组件。例如,如果创建一个Button,则从GameObject菜单创建Button组件或将Button组件添加到空游戏对象时,Button组件的属性没有区别。
应该在何时以及何时使用?
通常,创建游戏对象可满足大多数常见用例的需求。我通常只在添加碰撞器或我创建的脚本时使用“组件”菜单。
对于Button,从GameObject菜单创建它也会创建一个Text游戏对象作为Button的子对象。如果要将Button组件添加到现有游戏对象,则不会为您添加子文本游戏对象。要在Button上创建文本,您必须自己创建这个子Text对象。
答案 1 :(得分:1)
我添加了一个示例图片。
它给出了一般解释。
<强>此外强>:
GameObject是指Unity3D中任何和所有对象的术语。在虚幻引擎中,我们称之为对象&#34; Actors或Pawns&#34;。
为了操纵GameObject或具有功能,他们必须拥有&#34;组件&#34;。
所以,让我们想象一下,GameObject只是一个能够接受&#34;组件的容器。喜欢:转换位置数据,UI按钮,音频效果,粒子效果,允许用户交互的代码等。
注意: 当我们添加Unity3D GameObject时,所有GameObjects都会附带某种已附加的Transform组件。在某些情况下,例如,当您添加UI Button GameObject时,它将附带几个已附加的组件。这些预先附加的组件通常需要制作GameObject功能,Unity通过预先附加它们使开发人员的生活更轻松。
你可以创建一个&#34;空游戏对象&#34;它只带有一个变换组件。从那里你可以创建任何类型的自定义对象。如果您想创建自己的UI Button版本,那么您可以通过创建自己的组件来处理外观,交互和事件。
现在,如果我们将其与UI GameObject相关联:
UI GameObject是容纳所有UI组件的容器。
因此,在我的示例图像中,我显示了名为&#34; MenuScreenCanvas&#34;的UI GameObject,我之所以这样命名是因为它包含将其定义为Canvas元素的组件。
接下来,我们看到我突出显示名为&#34; PlayButton&#34;的子UI游戏对象。这个PlayButton UI GameObject附加了几个UI组件,包括:Canvas Renderer,Image(按钮的灰色背景)和Button Script(处理播放器点击/点击屏幕之间的交互)实际的GameObject。
稍微分解一下组件:
组件的范围可以从环境的光数据到音频源及其交互式游戏内提示,也可以是允许UI元素由于用户交互而触发事件的代码。
按钮示例:
使用uGUI GameObjects添加按钮时:
新的按钮GameObject将附带已经附加的组件,方便您快速有效地创建它们。
这是标准按钮GameObject在层次结构中的外观,并且您在检查器中看到的组件从Unity 5.2.0f3开始标准化:
视频链接:从头开始制作标准按钮(仅供学习,因为我们可以......):
https://youtu.be/v7RiUvOG5H4(不确定这是否有帮助,但我希望如此......)。
希望有所帮助。如果您需要更多,请随时问:D