6

私は unity5.3.3 を使用しています。名前は同じでも別のフォルダーに保存されているアセット バンドルからアセットを取得する方法を知りたいです。私の AssetBundle フォルダーは次のように設定されています。

 MyAssets -> this Folder is packed as an AssetBundle
  -ThemeOne(folder)
     - Logo.png
  -ThemerTwo(folder)
     - Logo.Png

私がするときAssetBundle.LoadAssetAsync("Logo")。最初の(ThemeOne)フォルダーにロゴを取得し終えます。では、他のフォルダー内のファイルにアクセスするにはどうすればよいですか?

サンプル プロジェクトを作成しましたので、ご確認ください。フォルダ Assets\AssetBundleSample\SampleAssets\Theme とスクリプト LoadAssets を確認します

4

5 に答える 5

0

ThemeOne(フォルダー) と ThemeTwo(フォルダー) を Resources フォルダーの assets の下に配置してから、このようなものを使用できます

(AudioClip)(Resources.Load ("Sounds/" + "myaudioclip", typeof(AudioClip)) as AudioClip)

同様に、私が myaudioclip を与えたので、ファイルの名前よりも、サウンドを与えたので最初にフォルダー名を与えるpngをロードします。必要に応じてテクスチャまたは何かとしてキャストします

于 2016-05-10T05:45:38.013 に答える
0

バグのようです。Unity バージョン 5.3.3 にはまだ存在します。

参照: http://answers.unity3d.com/questions/1083400/asset-bundle-cant-have-multiple-files-with-the-sam.html

于 2016-08-22T14:15:47.343 に答える
-1

メソッド LoadAssetAtPath() を使用して、アセット名だけでなくフル パスを指定できます。

例:

LoadAssetAtPath("Assets/Texture/Logo.jpg", typeof(Texture2D));

ドキュメントはこちら: http://docs.unity3d.com/ScriptReference/AssetDatabase.LoadAssetAtPath.html

于 2016-05-10T05:45:07.323 に答える