如何创建一个新的GameObject,而不将其添加到场景中?
我正在创建本质上是我自己的预制系统。游戏对象是由人类可读的数据文件定义的。我想创建一个空的GameObject,将其加载到数据文件中定义的组件中,并准备好等待Instantiate()调用。但是,每当我使用GameObject go = new GameObject()新游戏对象时,都会将其添加到场景中。 使用内置在预制件中的Unity,我可以将预制件作为GameObject加载,并且不会将其添加到场景中。(请参见下面的示例) 这背后的基本原理是我希望有一个包含GameObjects的列表,其中一些是通过加载Unity预制件生成的,而另一些是由我的自定义预制系统创建的。这需要在运行时发生,并且不能涉及Unity编辑器(因为理想情况下,最终用户将能够定义自己的数据文件)。 如何创建一个新的GameObject,而Unity却没有自动为我实例化它? 例如,我可以这样拨打电话: Resources.LoadAll("PrefabsDirectory", typeof(GameObject)) 然后,我将获得一个GameObjects列表,在进行调用时,这些列表都不会添加到场景中。本质上,我正在LoadAll为自己的预制件创建方法,同样,我不想在调用时实例化GameObjects。