2017-06-29 55 views
0

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

那么在编辑器之外,我应该运用哪种最佳策略来加载我的模型?

回答

0

始终检查您正在使用的API是而不是UnityEditor名称空间。如果它只是一个Editor插件,则可以将其包装在UNITY_EDITOR左右。

#if UNITY_EDITOR 
using UnityEditor; 
#endif 

但它不是编辑器插件,所以没有工作。

那么在编辑器之外,我应该采用哪一种最佳策略来加载模型 ?

实际上有两个加载文件在Unity

1个 .AssetBundles方式(推荐)

最好的办法是使用AssetBundles。在资产文件夹中创建一个文件夹,其名称为“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); 
} 

的.resources文件夹

创建 “资源”命名的文件夹然后把所有的文件存在。然后您可以使用资源API加载它。 This有关于此方法的更多信息。我认为你应该避免使用这种方法,但它真的值得一提。

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