AssetBundleのお話(備忘録)
Asset Bundleについてのメモ。備忘録も兼ねて書いていこうかと。
まだまだ書きかけです。今後整理してまとめ直す予定です。
- 目標
シーンやオーディオ、プレハブ、テクスチャなどをサーバ上にあげてアプリの容量を削減(100MB制限)、及びロード時間削減。
アップデートなしでステージ追加とかしたい。
- 手順
- AssetBundleManagerをアセットストアからDL、インポート。
- 適当にシーンを作り。モデルを適当に配置。保存("Test")
- SwitchPlatformでWebGLに。
- シーンにタグをつけて("test") Asset->BuildAssetBundleでアセットバンドル作成
- FinderでAsset上位ディレクトリにアクセス。
- AssetBundleManagerの機能でローカルサーバ立ててもらいテストしようと試みたがなぜかエラー→Dns.GetHostEntry(Dns.GetHostName())でエラー。どうやらホスト名をIPアドレスに名前解決できないらしい。windowsではできたのに。なぜ?ファイアーウォールは関係ない。
- 仕方がないので自力でMAMPでローカルサーバー立ててそこに配置。AssetBundleのWebGLのフォルダごとコピー。(http://localhost)
- アドレス設定の変更("AssetBundleServerURL"のl1、LoadScenes.csのl32、BuildScript.csのl14をhttp://localhostに変更)
- AssetBundleManagerのシーンローダーのSceneを開きLoderオブジェクトの設定をいじる(SceneAssetBundleをtest、Scene NameをTest)
- PlayerSetting->StripEngineCodeをdisable
- ビルドアンドラン(ビルドに含めるのはしーんろーだーのSceneだけ)
- やったね
アセットバンドルなしとありのファイルサイズの比較
- メモ
- AssetBundle置き場の検討。DropBoxの共有だと色々試したけどできなかった。(単純に階層構造ではだめでコードをなんとかかんとかしなければいけない。AssetBundleManager使わずに直接指定すれば...->依存関係をなんとかしなきゃいけない...)
- 個人のサーバで運用?レンタルサーバ?AWS?(費用対効果も含めて要検討)
- AssetBundleの暗号化、復号化、バージョン管理、150日問題、キャッシュ上限etc...自力でコード描くしかない。バージョン管理は凄く単純なやつならなんとかできる...かも。
- 今はまだその時ではない。
見にくい...