gpt4 book ai didi

c# - 如何正确加载预制件

转载 作者:行者123 更新时间:2023-12-02 15:17:41 25 4
gpt4 key购买 nike

我想通过预制件的名称(和路径)实例化预制件,该预制件来 self 的服务器、我的 Assets 文件夹,但遇到了一些问题。我发现了多种方法可以做到这一点:

var prefab = Instantiate(Resources.Load("prefabName")) as GameObject;

大多数线程都建议这样做,但如here所述你不应该使用它。

var prefab = Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>(path));

这是我发现的第二种方法,但这仅在编辑器内工作时才有效。例如,将项目构建为 WebGl 将立即抛出构建错误。

那么实例化预制件的正确方法是什么?

最佳答案

为什么不简单地在 MonoBehaviour 中添加一个(可序列化)字段:

[SerializeField] private GameObject myPrefab;

公共(public) GameObject MyPrefab;

将预制件拖到检查器中,然后将其拖到代码中:

GameObject 克隆 = Instantiate(myPrefab);

与此方法的区别在于,您的预制件已预加载到内存中,即当您实例化时,您从内存中读取(而不是磁盘)。

关于c# - 如何正确加载预制件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54361826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com