Upgrade to Pro — share decks privately, control downloads, hide ads and more …

個人開発でも使ってみよう Addressable Asset System

Sugaya
December 05, 2022

個人開発でも使ってみよう Addressable Asset System

Sugaya

December 05, 2022
Tweet

More Decks by Sugaya

Other Decks in Programming

Transcript

  1. Addressable Asset Systemを使うメリット • Resources からの脱却 • 追加ダウンロードの仕組みを簡単に整えられる • グループによりバンドル管理がしやすい

    • ビルドインと追加ダウンロードのリソースを区別せずに使える ◦ ビルドイン:アプリ本体に最初から含める内部リソース ◦ 追加ダウンロード:アプリ起動中にダウンロードを行う外部リソース • ビルドインから追加リソースに切り替えられる
  2. ビルドインと追加ダウンロードの切り替え • ビルドインのリソース ◦ Asset Group を Local にする ◦

    アプリをビルドする際に一緒にビルドする • 追加ダウンロードのリソース ◦ Asset Group を Remote にする ◦ アプリのビルドとは別でビルドする • LoadAssetAsync はダウンロードも同時に行ってくれる
  3. CRI ADX2 との連携 • CRI ADX2 ◦ サウンドミドルウェア ◦ Androidの低遅延再生に強い

    ◦ 商業リズムゲームでよく使われる • 通常の CRI ADX2 のロード ◦ StreamingAssets か persistentDataPath に置いてロード ◦ ダウンロード機構を自分で作る必要がある • Addressable Asset System に載せるメリット ◦ 他のリソースと同様に扱える ◦ 独自ダウンロード機能を作らずに済む
  4. CRI ADX2 との連携の注意点 • 音源ファイルの拡張子は .bytes にして TextAsset として読み込む ◦

    独自拡張子(.acb)はUnityのファイルとして扱われない • ロード時は byte[] を引数に持つメソッドを利用する • StreamingAssetsフォルダには入れない  
  5. 音源ファイルの読み込み AddCueSheet(string name, byte[] acbData, string awbFile, CriFsBinder awbBinder =

    null) 音源ファイル(M0001)を TextAsset として読み込む CriAtom.AddCueSheetには .bytes を渡す
  6. CIとの連携 • Unity Cloud Build の活用 ◦ アプリ/リソースの更新は全てUnity Cloud Buildで運用

    • ビルドインのリソースも都度ビルドが必要 ◦ アプリビルドだけでは自動では更新されない ◦ 同時にリソースのビルドを行うようにした ◦ OnPreprocessBuild ではなく PreBuildMethod のタイミングでビルド • 開発版だけに含めたいリソースは IncludeInBuild で制御
  7. Unity Cloud Build でのリソースビルド • 追加ダウンロードのリソースは Unity Cloud Build の設定からビルドが行える

    • リソースだけのビルドも可能 • ※ビルドインのリソースは更新されない
  8. Addressable Asset Systemを導入してみて • Addressable Asset System は個人開発レベルでも導入できる • リソース追加があるプロジェクトなら特に有効

    • CRI ADX2と一緒に使える • CIと連携するとより使いやすい • ※運用に関する実例はまだまだ不足している