Submit Search
Upload
個人開発でも使ってみようAddressableAssetSystem
•
0 likes
•
888 views
T
Takuma Sugaya
Follow
Gotanda.unity#18で発表した内容です 開発中のゲームでAddressableAssetSystemを導入してみた際の課題と解決策を共有しています
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
Deep-Dive into Scriptable Build Pipeline
Deep-Dive into Scriptable Build Pipeline
Haruto Otake
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法
Kenta Nagai
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
UnityTechnologiesJapan002
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
UnityTechnologiesJapan002
Recommended
Deep-Dive into Scriptable Build Pipeline
Deep-Dive into Scriptable Build Pipeline
Haruto Otake
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法
Kenta Nagai
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
UnityTechnologiesJapan002
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
UnityTechnologiesJapan002
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
DeNA
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
『禍つヴァールハイト』モバイルにおけるプレイヤー最大100体同時表示可能なグラフィックス最適化について
『禍つヴァールハイト』モバイルにおけるプレイヤー最大100体同時表示可能なグラフィックス最適化について
KLab Inc. / Tech
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
UniRx完全に理解した
UniRx完全に理解した
torisoup
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
Daisuke Masubuchi
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
Google Cloud Platform - Japan
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
Google Cloud Platform - Japan
M5StackをRustで動かす
M5StackをRustで動かす
Kenta IDA
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
Makoto Haruyama
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
「Android案件できます」って言ったら、ヒドい目にあった話
「Android案件できます」って言ったら、ヒドい目にあった話
Kenta Komori
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方
Makoto Ito
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Spannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
More Related Content
What's hot
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
DeNA
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
『禍つヴァールハイト』モバイルにおけるプレイヤー最大100体同時表示可能なグラフィックス最適化について
『禍つヴァールハイト』モバイルにおけるプレイヤー最大100体同時表示可能なグラフィックス最適化について
KLab Inc. / Tech
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
UniRx完全に理解した
UniRx完全に理解した
torisoup
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
Daisuke Masubuchi
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
Google Cloud Platform - Japan
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
sairoutine
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
Google Cloud Platform - Japan
M5StackをRustで動かす
M5StackをRustで動かす
Kenta IDA
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
Makoto Haruyama
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
「Android案件できます」って言ったら、ヒドい目にあった話
「Android案件できます」って言ったら、ヒドい目にあった話
Kenta Komori
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方
Makoto Ito
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
Spannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
What's hot
(20)
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
『禍つヴァールハイト』モバイルにおけるプレイヤー最大100体同時表示可能なグラフィックス最適化について
『禍つヴァールハイト』モバイルにおけるプレイヤー最大100体同時表示可能なグラフィックス最適化について
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
UniRx完全に理解した
UniRx完全に理解した
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
世界を跨ぐリアルタイム PvP 対戦への挑戦 [Google Cloud INSIDE Games & Apps]
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
M5StackをRustで動かす
M5StackをRustで動かす
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
「Android案件できます」って言ったら、ヒドい目にあった話
「Android案件できます」って言ったら、ヒドい目にあった話
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Spannerに関する技術メモ
Spannerに関する技術メモ
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
個人開発でも使ってみようAddressableAssetSystem
1.
個人開発でも使ってみよう Addressable Asset System Gotanda.unity
#18
2.
プロフィール tetsu(鉄、Twitter:@tetsujp84) ● Unityエンジニア ● 株式会社ミラティブ所属 ●
サークルでリズムゲームを制作中
3.
制作中のゲーム Liminality ● スマートフォン向けリズムゲーム ● Addressable
Asset System に移行した ● CRI ADX2 を使っている
4.
Addressable Asset Systemを使うメリット ●
Resources からの脱却 ● 追加ダウンロードの仕組みを簡単に整えられる ● グループによりバンドル管理がしやすい ● ビルドインと追加ダウンロードのリソースを区別せずに使える ○ ビルドイン:アプリ本体に最初から含める内部リソース ○ 追加ダウンロード:アプリ起動中にダウンロードを行う外部リソース ● ビルドインから追加リソースに切り替えられる
5.
リズムゲームでアセットとして使うもの ● ジャケット:.png ● 音源:.acb ●
譜面:.json ひとまとめにして1曲単位でグループ化
6.
ロード方法 LoadResourceLocationAsync でファイルの存在チェック Addressable.LoadAssetAsync でロードして
Instantiate でインスタンス化 ※UniTaskを使用
7.
ビルドインと追加ダウンロードの切り替え ● ビルドインのリソース ○ Asset
Group を Local にする ○ アプリをビルドする際に一緒にビルドする ● 追加ダウンロードのリソース ○ Asset Group を Remote にする ○ アプリのビルドとは別でビルドする ● LoadAssetAsync はダウンロードも同時に行ってくれる
8.
具体例 ビルドインの設定 Build and Load
Paths を Local に設定する 追加ダウンロードの設定 Build and Load Paths を Remote に設定する
9.
CRI ADX2 との連携 ●
CRI ADX2 ○ サウンドミドルウェア ○ Androidの低遅延再生に強い ○ 商業リズムゲームでよく使われる ● 通常の CRI ADX2 のロード ○ StreamingAssets か persistentDataPath に置いてロード ○ ダウンロード機構を自分で作る必要がある ● Addressable Asset System に載せるメリット ○ 他のリソースと同様に扱える ○ 独自ダウンロード機能を作らずに済む
10.
CRI ADX2 との連携の注意点 ●
音源ファイルの拡張子は .bytes にして TextAsset として読み込む ○ 独自拡張子(.acb)はUnityのファイルとして扱われない ● ロード時は byte[] を引数に持つメソッドを利用する ● StreamingAssetsフォルダには入れない
11.
音源ファイルの読み込み AddCueSheet(string name, byte[]
acbData, string awbFile, CriFsBinder awbBinder = null) 音源ファイル(M0001)を TextAsset として読み込む CriAtom.AddCueSheetには .bytes を渡す
12.
AssetImporterで拡張子変更 アセット追加時に音源ファイルの拡張子を .bytes に変える
13.
CIとの連携 ● Unity Cloud
Build の活用 ○ アプリ/リソースの更新は全てUnity Cloud Buildで運用 ● ビルドインのリソースも都度ビルドが必要 ○ アプリビルドだけでは自動では更新されない ○ 同時にリソースのビルドを行うようにした ○ OnPreprocessBuild ではなく PreBuildMethod のタイミングでビルド ● 開発版だけに含めたいリソースは IncludeInBuild で制御
14.
Unity Cloud Build
でのリソースビルド ● 追加ダウンロードのリソースはUnity Cloud Build の設定からビルドが行える ● リソースだけのビルドも可能 ● ※ビルドインのリソースは更新されない
15.
ビルドインリソース更新用のメソッド AddressableAssetSettings.BuildPlayerContent スクリプト経由でビルドする ※ActivePlayerDataBuilderIndexの設定が必要かは検証中
16.
Unity Cloud Buildでの設定 PreBuildMethod(エクスポート前メソッド)で更新用メソッドを指定する
17.
開発版のみに含めるリソースの管理 開発版用のグループ(Development)を用意しておく ビルド実行時に IncludeInBuild を切り替えてビルドに含めるかを管理する
18.
Addressable Asset Systemを導入してみて ●
Addressable Asset System は個人開発レベルでも導入できる ● リソース追加があるプロジェクトなら特に有効 ● CRI ADX2と一緒に使える ● CIと連携するとより使いやすい ● ※運用に関する実例はまだまだ不足している
Download now