2017-06-29 9 views
0

エディタIで読み込んだモデルをUnityEditor.AssetDatabase.LoadAssetAtPathで使用するアプリケーションを作成しました。もし私がアプリをデプロイしようとするとUnity Editorは使えないと言われます。ユニティエディタとデプロイされたアプリケーションでの3Dモデルの読み込み

これは、エディタの外で実行時にモデルを読み込むために適用するのが最適な戦略ですか?

答えて

0

UnityEditor名前空間には、使用しているAPIがではなく、であることを常に確認してください。それがエディタプラグインの場合は、UNITY_EDITORをラップすることができます。

#if UNITY_EDITOR 
using UnityEditor; 
#endif 

しかし、これはエディタのプラグインではないので、うまく機能しません。

これは、 実行時にモデルを読み込むために適用するのが最適な戦略です。

ユニティ

.AssetBundles(推奨)

AssetBundlesを使用することです最善の方法でファイルをロードするには、2つの方法が本当にあります。アセットフォルダにフォルダを作成します。名前は"StreamingAssets"です。 AssetBundlesを作成し、そこにAssetBundleを配置します。読み込むパスに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 postには、このメソッドの詳細があります。私はあなたがこの方法を使わないでくださいが、実際に言及する価値があると思います。

TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset)); 
string tileFile = txtAsset.text; 
関連する問題