在 Unity 编辑器和已部署的应用程序中加载 3D 模型



我创建了一个应用程序,它利用了我在编辑器中使用UnityEditor.AssetDatabase.LoadAssetAtPath加载的模型。如果我尝试部署应用程序,它说无法使用 Unity 编辑器。

那么,在运行时,在编辑器之外加载模型的最佳策略是什么?

始终检查您使用的 API 是否不在 UnityEditor 命名空间中。如果它只是一个编辑器插件,您可以将其包装在 UNITY_EDITOR .

#if UNITY_EDITOR
using UnityEditor;
#endif

但它不是编辑器插件,因此伤口不起作用。

因此,我应该应用哪种策略来加载我的模型 运行时,在编辑器之外?

实际上有两种方法可以在Unity中加载文件

1.资源包(推荐(

最好的方法是使用资产包。在 Assets 文件夹中创建一个文件夹,名称为"StreamingAssets"。创建资产包,然后将资产包放在那里。您可以使用 Unity 的 WWW API 和 Application.streamingAssetsPath 作为加载它的路径。

public string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile");
public string result = "";
IEnumerator Example() {
    if (filePath.Contains("://")) 
    {
        WWW www = new WWW(filePath);
        yield return www;
        result = www.text;
    } else
        result = System.IO.File.ReadAllText(filePath);
}

2."资源"文件夹

创建一个名为"资源">的文件夹,然后将所有文件放在那里。然后,您可以使用资源 API 加载它。这篇文章提供了有关此方法的更多信息。我确实认为您应该避免使用此方法,但确实值得一提。

TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset));
string tileFile = txtAsset.text;

相关内容

  • 没有找到相关文章

最新更新