スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Unity : iPhone アプリリソースに AssetBundle ファイルを持つ方法

結論としては、Assets/StreamingAssets ディレクトリ以下に AssetBundle ファイルを配置することによって実現できます。
<基本知識>

AssetBundle ファイルは、AsssetBundle クラスを使ってしかアクセスできない。
AssetBundle の読み込みは WWW クラスを使ってしかできない。
WWW でのファイル読み込みは "file://" を使ってファイルパスを指定する。

WWW クラスリファレンス
AssetBundle クラスリファレンス
Resources クラスリファレンス

<Resources ディレクトリ内に入れた場合>

iPhone 用にビルドすると、Resources ディレクトリ内のファイルは resources.asset としてまとめられ、Resources クラスを使ってしかアクセスできない。
Resources クラスには AssetBundle ファイルを読み込むメソッドは提供されていないためダメ。
ファイル単体にアクセスできないため、WWWでも読み込みできない。
=>ダメ

<StreamingAssets ディレクトリに入れた場合>

Assets/StreamingAssets ディレクトリに入れたファイルは、iPhone 用にビルドした場合は アプリディレクトリ/Data/Raw ディレクトリ以下にファイルとして配置される。
ファイルとして配置されるので、WWW クラスで "file://" + Application.dataPath + "/Raw" + "AssetBundleファイル名" で読み込みできる。

※注意
SVN を使っている場合、StreamingAssets ディレクトリ内にある .svn ディレクトリ以下のファイルもアプリリソースとしてビルドされてしまう。
.svn ディレクトリが入っている場合は、アプリを実機にインストールするときにエラーが起きて失敗する。
対処法としては、StreamingAssets ディレクトリ以下は SVN 管理しない。

Unity Community:Yet another Resources.Load question
Unity Community:assetbundle & streamingassets folder
Unity Community:SVN + StreamingAssets folder = FAIL

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
検索フォーム
カテゴリ
最新コメント
リンク
月別アーカイブ
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。