かずおの開発ブログ(主にRuby)

日々の開発のことを色々書きます。

Unity5の新しいAssetBundle機能を使ってサーバーからAssetBundleをダウンロードする

※こちらの記事の内容についてOSごとのビルド分けを行っていないためPC上では動作しますが、実機に移したときに動作しません。 実機に移して使えるものについてはこちらを参照ください。

kazuooooo.hatenablog.com

AssetBundleをビルド

  1. まずAssetBundleビルドに含めたいアセットを選択して、含めたい階層を選択します (このときスラッシュで区切ることでフォルダ配下にフォルダの作成が可能)

f:id:kazuooooo:20150614131758p:plain

2.Editorフォルダ配下にCreateAssetBundlesスクリプトを作成

gist.github.com

  • エクスポートされる各々のAssetBundleはAssetBundleメニューで作成した名前を持つ
  • 各々のAssetBundleは.manifest拡張子に関連付けられているファイルを持つ(Assetの依存関係の情報を持っている)
  • さらにAssetBundleとAssetBundles.manifestファイルが作成される

3.プロジェクトフォルダ内に出力フォルダと同名のフォルダを作成(この場合はAssetBundles)

f:id:kazuooooo:20150614133337p:plain

4.Buildを押すとAssetBundleが生成される。

f:id:kazuooooo:20150614133614p:plain

AssetBundleを任意のサーバーにアップロード

(こちらはUnityと直接関係ないので割愛します)

AssetBundleをダウンロード

ダウンロードするスクリプトを作成 gist.github.com スクリプトを作成したら適当なオブジェクトにアタッチしてBundleURLとAssetNameを設定

f:id:kazuooooo:20150614144935p:plain

再生ボタンを押すとオブジェクトがシーン上にオブジェクトが生成されます。 Assetsフォルダ配下にデータが入っていなくても作成されること(WebServerからデータをとれてきている)ことを確認してみてください。

f:id:kazuooooo:20150614145218p:plain

参考 docs.unity3d.com

https://github.com/kiyoaki/AssetBundleSample