Unity リソース管理 1
リソース管理の理想
理想
- 何も考えずにResources.Loadだけ使いたいんじゃ!(無理だがな!公式も用意しといて使うなとかどんな罠だ)
注意点
- Unity5.3.4 時点での記事です。
- 追記(2019/4/30):Unity公式が出している Asset BundleBrowser が非常におすすめ! assetstore.unity.com ※Unity2019になっても、根本システム改変せず Addressable Asset System でお茶を濁そうとしているのには。。。やっとPrefab in Prefab来たーが2つ同時編集できないのが不満。。。
問題点
- Resourcesフォルダ運用からのAssetBundle化がうまくいかない問題
- Pathの大文字/小文字問題
- 既存リソースをまとめる作業が大変
- パスからAssetBundle名が逆引きできなくなる
- AssetBundleの仕組みがいけてない問題
- WWWCacheの動作がいけてない
- 基本、非同期Loadしか対応していない
- Unity公式のAssetBundleLoaderがいけてない。。。 使い方のお手本としては最高!
- WWWCacheの動作がいけてない
- 追記(2019/4/30):
- Manifest単体ファイルの情報がHash値だけと少なすぎる (せめてサイズとか、ユーザー付与バージョンとか、差分情報がわからないとAssetBundle本体ダウンロード判定やユーザー表示に使えない)
- ダウンロード済みのファイルチェックがしにくいレベルを超えて終わってる。。。キャッシュは使っちゃならんね。。。ファイルで保存して自分管理
開発時のリソースロード方法の移行理想
UnityEditor
- Resourcesロード
- AssetBundleロード
- Editor内のLocalリソース(AssetDatabase)
- ローカルファイル(WWWCache or LoadFile)
- ネットワークファイル([Download & LoadFile] or [WWWCache])
SmartPhone上
- AssetBundleロード
- ローカルファイル(WWWCache or LoadFile)
- ネットワークファイル([Download & LoadFile] or [WWWCache])