【发布时间】:2019-03-22 08:05:06
【问题描述】:
我想通过它的名称(和路径)实例化一个 Prefab,它来自我的服务器,来自我的 Assets 文件夹并遇到了一些问题。 我发现了多种方法:
var prefab = Instantiate(Resources.Load("prefabName")) as GameObject;
大多数线程都建议这样做,但正如 here 所述,您不应该使用它。
var prefab = Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>(path));
这是我发现的第二种方法,但这仅在编辑器中工作时才有效。例如,将项目构建到 WebGl 会立即引发构建错误。
那么实例化预制件的正确方法是什么?
【问题讨论】:
-
如您所见,第二种方法使用“UnityEditor”作为资产来源。这是有道理的,它在编辑器之外不起作用。