Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Kouji Hosoda
16,015 views
Unityのasset bundle運用実例@lordofknights
弊社でUnity3Dを使って開発したiPhoneアプリ(Lord of Knights)でのAssetBundle実例と、使いどころの話。
Technology
◦
Read more
29
Save
Share
Embed
Embed presentation
Download
Downloaded 135 times
1
/ 32
2
/ 32
3
/ 32
4
/ 32
5
/ 32
6
/ 32
7
/ 32
8
/ 32
9
/ 32
10
/ 32
11
/ 32
12
/ 32
13
/ 32
14
/ 32
15
/ 32
16
/ 32
17
/ 32
18
/ 32
19
/ 32
20
/ 32
21
/ 32
22
/ 32
23
/ 32
24
/ 32
25
/ 32
26
/ 32
27
/ 32
28
/ 32
29
/ 32
30
/ 32
31
/ 32
32
/ 32
More Related Content
PDF
サーバ構築を自動化する 〜Ansible〜
by
Yui Ito
PDF
何故 Okta を選んだか? 導入して体感したメリットとは?
by
Kyohei Komatsu
PDF
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
by
Kazumi OHIRA
PDF
JavaScript GIS ライブラリ turf.js 入門
by
Takahiro Kamada
PDF
Hinemos Deep Dive~ジョブ編~
by
Hinemos
PPTX
設計・構築においてのドキュメントの重要性について
by
Takayuki Higashi
PDF
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
by
UnityTechnologiesJapan002
PDF
No skk, no life.
by
digitalghost
サーバ構築を自動化する 〜Ansible〜
by
Yui Ito
何故 Okta を選んだか? 導入して体感したメリットとは?
by
Kyohei Komatsu
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
by
Kazumi OHIRA
JavaScript GIS ライブラリ turf.js 入門
by
Takahiro Kamada
Hinemos Deep Dive~ジョブ編~
by
Hinemos
設計・構築においてのドキュメントの重要性について
by
Takayuki Higashi
【Unite 2018 Tokyo】『CARAVAN STORIES』のアセットバンドル事例
by
UnityTechnologiesJapan002
No skk, no life.
by
digitalghost
What's hot
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PPTX
今さら聞けない! Active Directoryドメインサービス入門
by
Tetsuya Yokoyama
PDF
俺のサイジング
by
Toru Makabe
PDF
Inside FastEnum
by
Takaaki Suzuki
PDF
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
by
Yuhei Miyazato
PPTX
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
by
SEGADevTech
PDF
目grep入門 +解説
by
murachue
PDF
たのしい高階関数
by
Shinichi Kozake
PPTX
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
by
JustSystems Corporation
PPTX
大規模分散システムの現在 -- Twitter
by
maruyama097
PDF
クロージャデザインパターン
by
Moriharu Ohzu
PDF
UIElements+UI BuilderでEditor拡張を作ろう
by
Unity Technologies Japan K.K.
PDF
オブジェクト指向できていますか?
by
Moriharu Ohzu
PPTX
基本設計+詳細設計の書き方 社内勉強会0304
by
furuCRM株式会社 CEO/Dreamforce Vietnam Founder
PDF
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
by
Takakiyo Tanaka
PDF
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
by
Takeshi Mikami
PPTX
トランザクションをSerializableにする4つの方法
by
Kumazaki Hiroki
PDF
Windowsの画面スケーリングをきちんと理解しよう
by
Yuya Yamaki
PDF
TDDBC お題
by
Takuto Wada
PDF
ドメイン駆動設計 分析しながら設計する
by
増田 亨
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
今さら聞けない! Active Directoryドメインサービス入門
by
Tetsuya Yokoyama
俺のサイジング
by
Toru Makabe
Inside FastEnum
by
Takaaki Suzuki
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
by
Yuhei Miyazato
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
by
SEGADevTech
目grep入門 +解説
by
murachue
たのしい高階関数
by
Shinichi Kozake
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
by
JustSystems Corporation
大規模分散システムの現在 -- Twitter
by
maruyama097
クロージャデザインパターン
by
Moriharu Ohzu
UIElements+UI BuilderでEditor拡張を作ろう
by
Unity Technologies Japan K.K.
オブジェクト指向できていますか?
by
Moriharu Ohzu
基本設計+詳細設計の書き方 社内勉強会0304
by
furuCRM株式会社 CEO/Dreamforce Vietnam Founder
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
by
Takakiyo Tanaka
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
by
Takeshi Mikami
トランザクションをSerializableにする4つの方法
by
Kumazaki Hiroki
Windowsの画面スケーリングをきちんと理解しよう
by
Yuya Yamaki
TDDBC お題
by
Takuto Wada
ドメイン駆動設計 分析しながら設計する
by
増田 亨
Viewers also liked
PPT
BRDF レンダリングの方程式
by
康弘 等々力
PPTX
Shadow gunのサンプルから学べるモバイル最適化
by
Katsutoshi Makino
PDF
Extending the Unity Editor Extended
by
Masamitsu Ishikawa
PDF
知って得するUnity エディタ拡張編
by
Shota Baba
PDF
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
by
まべ☆てっく運営
PDF
Unity での asset bundle による追加コンテンツの扱い方
by
Kouji Hosoda
PDF
Unity エディタ拡張
by
Shota Baba
PDF
AssetBundle (もどき) の作り方
by
Mori Tetsuya
BRDF レンダリングの方程式
by
康弘 等々力
Shadow gunのサンプルから学べるモバイル最適化
by
Katsutoshi Makino
Extending the Unity Editor Extended
by
Masamitsu Ishikawa
知って得するUnity エディタ拡張編
by
Shota Baba
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
by
まべ☆てっく運営
Unity での asset bundle による追加コンテンツの扱い方
by
Kouji Hosoda
Unity エディタ拡張
by
Shota Baba
AssetBundle (もどき) の作り方
by
Mori Tetsuya
Similar to Unityのasset bundle運用実例@lordofknights
PPT
AssetBundle と TextureCompression のおはなし
by
Mori Tetsuya
PDF
ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
by
MakotoItoh
PDF
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
by
Mori Tetsuya
PDF
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
by
Mori Tetsuya
PDF
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
by
Yusuke HIDESHIMA
PPTX
Unity * スマートフォン開発で学んだこと
by
Katsutoshi Makino
PDF
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
by
Mori Tetsuya
PDF
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
by
Mori Tetsuya
PPTX
Deep-Dive into Scriptable Build Pipeline
by
Haruto Otake
PDF
Unity恐くないよ!!
by
nakamura001
PDF
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
by
UnityTechnologiesJapan002
PDF
20121123 アド部定例会 unityアプリに広告を入れる方法
by
Yasuyuki Kamata
PDF
Unity名古屋セミナー [Asset Store]
by
MakotoItoh
PDF
Unity×HTMLで作るiPhone オンラインゲーム開発事例
by
Kouji Hosoda
PDF
Go_to_UnityAssetStore_Publisher_2016edition
by
Takashi Jona
PDF
Let’s study unity
by
Takuya Arakawa
PPTX
アプリ開発・運用で楽をするために知っておくべき Unity Services
by
Yasuyuki Kamata
PDF
自分の作品が世界中のゲーム開発者に使われる日
by
Takashi Jona
PDF
20130330 nagoya unityアプリに広告を入れる方法 公開用
by
Yasuyuki Kamata
PPTX
メガ Unity ユーザーミートアップ 2012
by
cfm_art
AssetBundle と TextureCompression のおはなし
by
Mori Tetsuya
ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
by
MakotoItoh
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
by
Mori Tetsuya
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
by
Mori Tetsuya
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
by
Yusuke HIDESHIMA
Unity * スマートフォン開発で学んだこと
by
Katsutoshi Makino
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
by
Mori Tetsuya
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
by
Mori Tetsuya
Deep-Dive into Scriptable Build Pipeline
by
Haruto Otake
Unity恐くないよ!!
by
nakamura001
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
by
UnityTechnologiesJapan002
20121123 アド部定例会 unityアプリに広告を入れる方法
by
Yasuyuki Kamata
Unity名古屋セミナー [Asset Store]
by
MakotoItoh
Unity×HTMLで作るiPhone オンラインゲーム開発事例
by
Kouji Hosoda
Go_to_UnityAssetStore_Publisher_2016edition
by
Takashi Jona
Let’s study unity
by
Takuya Arakawa
アプリ開発・運用で楽をするために知っておくべき Unity Services
by
Yasuyuki Kamata
自分の作品が世界中のゲーム開発者に使われる日
by
Takashi Jona
20130330 nagoya unityアプリに広告を入れる方法 公開用
by
Yasuyuki Kamata
メガ Unity ユーザーミートアップ 2012
by
cfm_art
Unityのasset bundle運用実例@lordofknights
1.
Unity の AssetBundle 運用事例 @Lord
of Knights 株式会社 Aiming リードソフトウェアエンジニア 細田幸治 2012/06/01
2.
こんばんは こんばんは
3.
細田幸治といいます。 http://www.facebook.com/kouji.hosoda MMORPG のサーバーを書いたり、 通信ライブラリを書いたり、 ブラウザゲームを作ったりして、 現在はスマートフォンでオンラインゲームを作って ます。
4.
AssetBundle つかっていますか?
( ・∇・)ノ
5.
話すこと 1. AssetBundle の特徴
○ 概説 ○ メリット ○ デメリット 2. Lord of Knights での実例紹介 ○ 何のために使ったか? ○ どう実装したか? ○ 運用ワークフロー
6.
結論を言うと ● アップデート時のコンテンツ追加に便利 ● だけどいろいろ注意点がある ●
ポイントをおさえて使おう
7.
AssetBundle の特徴
8.
概説 ●
Unity 専用の外部素材フォーマットのこと ● GameObject、Material、Prefab などが入る ● サーバーなどに置いてアプリで読み込んで使う ● AssetBundle の作成は Unity Pro Only
9.
メリット 1.
アプリケーションサイズを小さくできる 2. Apple 審査をしなくてもコンテンツを追加できる 3. キャッシュが効く 4. アプリ本体と AssetBundle とでワークフロー(プ ロジェクト)分けられる
10.
デメリット 1. 他の素材方式よりもメモリを消費する
○ AssetBundle クラス自体がアセットを内包した状態でメモ リに乗る ○ 上記 AssetBundle クラスから Material などを Load すると それもメモリに乗る memory www Material,GameObject,etc. AssetBundle Load クラス Load
11.
デメリット 2. 非同期読み込みになるので“待ち”の実装が必
要 ○ Resources.Load のように同期的には読み込めない ○ 待ち時間処理のためにコードが複雑になりがち
12.
デメリット 3. 通信状態によっては読み込めない ○
通信できない環境だと Load できない ○ タイムアウトでも Load に失敗する ○ Load できなくてもなるべく遊べるような設計が望ましい
13.
デメリット 4. プラットフォーム間で互換性がない ○
Android、iPhone、WebPlayer でそれぞれ別ファイル フォーマット ○ AssetBundle のビルド時にプラットフォームを指定して書 き出す必要がある ○ ビルド時のプラットフォームの切り替えに時間がかかる ○ ちなみに Editor ではどのフォーマットでも読み込める
14.
デメリット 5. バージョンを指定しても更新されない時がある ○
ブラウザやサーバーのキャッシュに乗るため、更新したく てもうまく反映されない場合がある ○ 読み込む際にファイル名の後ろにタイムスタンプなどをつ けてキャッシュ無効化するべし ○ 例:http://www.foo.com/foo.asset?time=201106011930
15.
デメリット 6. スクリプトは AssetBundle
に入れられない (iPhone ではコードの動的生成 NG だから) 7. Unity がバージョンアップすると読み込めなくな る(Unity3.5.1 から下位互換されたかも) ○ 3.4系のときは別バージョンでビルドしたAssetBundleを読 み込もうとすると、実機でキャッチできないエラー出して読 み込めなかった。
16.
Lord of Knights
実例
17.
何のために使ったか?
18.
何のために使ったか? ● 追加コンテンツ
○ カードイラスト
19.
何のために使ったか? ● 追加コンテンツ
○ チュートリアルの説明用スライド
20.
何のために使ったか? ● 追加コンテンツ
○ アドバイスポップアップ素材
21.
何のために使ったか? ● アプリサイズ削減
○ BGM (後にアプリ本体に埋め込み) ○ 背景画像(後にアプリ本体に埋め込み) ○ カード枠(後にアプリ本体に埋め込み) ○ などなど容量が大きい素材たち AppleStore の3G回線でのダウンロードサイズ制 限が 20 MB だったときに使用した ↓ 現在は 50 MB まで OK になったので再埋め込み
22.
どう実装したか?
23.
どう実装したか? ● メモリ管理
○ 最初は1つの AssetBundle に複数素材を入れていたが、 ばらばらに分けて読み込み時のメモリを削減 ○ メモリが少ないデバイス(iPod touch など)の場合は使用 メモリ量が 120 MB 以上になったらシーン切り替え時に AssetBundle をいったん Unload するようにした
24.
どう実装したか? ● “待ち”の扱い
○ 動的に扱う素材はインジケーターでアピール ○ 静的に扱う素材はフェードアウト中に先読み
25.
どう実装したか? ● キャッシュ
○ 開発当時は Unity のキャッシュがまだなかった、と思う ○ 独自キャッシュの仕組みを実装 ■ WWW.LoadFromCacheOrDownload と同じ挙動 ○ 最新バージョン番号をサーバーから教えてもらい、クライ アントでキャッシュしているバージョン番号と一致しなかっ たら再読み込みする ○ ファイル名の後ろにクエリストリングでタイムスタンプをつ けて予期せぬキャッシュを避ける
26.
どう実装したか? ● バージョン、プラットフォーム、言語の切り分け
○ 同じファイル名でもプラットフォームごとに違うフォーマット のファイルが必要 ○ バージョン、プラットフォーム、言語でディレクトリ構造を作 ることで同名ファイルを配置分け ■ /version1_0/iPhone/ja/Card_001.asset ■ /version1_1/Android/en/Card_001.asset ○ クライアントから条件を指定してファイルパスをサーバー から教えてもらう
27.
運用ワークフロー
28.
運用ワークフロー ● アプリ本体とは別のプロジェクトで作成
○ アプリ本体の修正を気にせずに作業できる ● ファイルサイズはなるべく小さくパック ○ AssetBundle ファイル単位でメモリに読み込むため ○ 同時に使わない素材は別ファイルに分ける ○ メモリ使用量と読み込み速度を気にかける
29.
運用ワークフロー ● 規約
○ シンプルなフォルダ構造にして企画やデザインの人が直 接いじりやすいようにする ○ プロジェクト内のフォルダ構造、ファイル名から自動的に 出力ファイルの名前や配置場所が決まるようにする ● 一発ビルドコマンド ○ Editor スクリプトで一括ビルドコマンドを実装 ○ 書き出されたフォルダをそのままサーバーに配置すれば OK
30.
まとめ ● アップデート時のコンテンツ追加に便利
○ Apple の審査を待たなくて良い ● いろいろ注意点がある ○ 予期せぬキャッシュに注意 ○ 非同期プログラミングが必要 ○ 読み込めないときの対応をきちんとする ● ポイントをおさえて使おう ○ プラットフォーム毎にアセットを切り替えられるように ○ アセット1個1個はメモリと速度を気にして小さめに ○ Editor スクリプトを活用してワークフローを簡単に
31.
質疑応答 ● なにかあれば!
32.
おわり
Download