我已经创建了一个应用程序,它使用我在UnityEditor.AssetDatabase.LoadAssetAtPath
加载的编辑器中使用的模型。如果我尝试部署应用程序,则表示无法使用Unity编辑器。
那么我应该在编辑器外部运行时加载我的模型的最佳策略是什么?
答案 0 :(得分:0)
请务必检查UnityEditor
命名空间中您使用的API是不是。如果它只是一个编辑器插件,你可以将它包装在UNITY_EDITOR
。
#if UNITY_EDITOR
using UnityEditor;
#endif
但它不是一个编辑器插件,因此无法正常工作。
这是我应该用于加载模型的最佳策略 在编辑之外的运行时间?
有两种方法可以在Unity中加载文件
<强> 1 强> .AssetBundles(推荐)
最好的方法是使用AssetBundles。在Assets文件夹中创建一个文件夹,名称为“StreamingAssets”。创建AssetBundles然后将AssetBundles放在那里。您可以使用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 。资源文件夹
创建一个名为“Resources”的文件夹,然后将所有文件放在那里。然后,您可以使用Resources API加载它。 This帖子提供了有关此方法的更多信息。我认为你应该避免使用这种方法,但它确实值得一提。
TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset));
string tileFile = txtAsset.text;