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

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

Avatar for Sugaya Sugaya
December 05, 2022

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

Avatar for Sugaya

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と連携するとより使いやすい • ※運用に関する実例はまだまだ不足している