Submit Search
Upload
Unityのasset bundle運用実例@lordofknights
•
29 likes
•
15,935 views
Kouji Hosoda
Follow
弊社でUnity3Dを使って開発したiPhoneアプリ(Lord of Knights)でのAssetBundle実例と、使いどころの話。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 32
Download now
Download to read offline
Recommended
Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方
Kouji Hosoda
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
Unityと.NET
Unityと.NET
AimingStudy
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Kouji Hosoda
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
Unityでデスクトップマスコットを作ろう
Unityでデスクトップマスコットを作ろう
yodaka16
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
Nohina Hidenari
Recommended
Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方
Kouji Hosoda
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
Unityと.NET
Unityと.NET
AimingStudy
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Kouji Hosoda
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
Unityでデスクトップマスコットを作ろう
Unityでデスクトップマスコットを作ろう
yodaka16
ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
Nohina Hidenari
Unityプロファイラについて
Unityプロファイラについて
Mio Ku-tani
Unity ゲーム開発
Unity ゲーム開発
Katsutoshi Makino
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
Kouji Hosoda
unity build on github actions
unity build on github actions
Daiki Mogmet Ito
Unity恐くないよ!!
Unity恐くないよ!!
nakamura001
Unity って何?
Unity って何?
Katsutoshi Makino
C# で i phone ゲーム開発
C# で i phone ゲーム開発
Katsutoshi Makino
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Keisuke Utsumi
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
モノビット エンジン
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビット エンジン
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
Katsutoshi Makino
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
Unity Technologies Japan K.K.
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
Unityでソーシャルログイン機能を実装してみた
Unityでソーシャルログイン機能を実装してみた
昭仁 賀好
Unitynetwork
Unitynetwork
Shinsuke Sugita
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題
AimingStudy
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
PhotonCloudで一ヶ月ゲーム作った話
PhotonCloudで一ヶ月ゲーム作った話
Hiroto Imoto
BRDF レンダリングの方程式
BRDF レンダリングの方程式
康弘 等々力
Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化
Katsutoshi Makino
More Related Content
What's hot
Unityプロファイラについて
Unityプロファイラについて
Mio Ku-tani
Unity ゲーム開発
Unity ゲーム開発
Katsutoshi Makino
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Kohei Kadowaki
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
Kouji Hosoda
unity build on github actions
unity build on github actions
Daiki Mogmet Ito
Unity恐くないよ!!
Unity恐くないよ!!
nakamura001
Unity って何?
Unity って何?
Katsutoshi Makino
C# で i phone ゲーム開発
C# で i phone ゲーム開発
Katsutoshi Makino
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Keisuke Utsumi
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
モノビット エンジン
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビット エンジン
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
Katsutoshi Makino
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
Unity Technologies Japan K.K.
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
Unityでソーシャルログイン機能を実装してみた
Unityでソーシャルログイン機能を実装してみた
昭仁 賀好
Unitynetwork
Unitynetwork
Shinsuke Sugita
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題
AimingStudy
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
PhotonCloudで一ヶ月ゲーム作った話
PhotonCloudで一ヶ月ゲーム作った話
Hiroto Imoto
What's hot
(20)
Unityプロファイラについて
Unityプロファイラについて
Unity ゲーム開発
Unity ゲーム開発
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
unity build on github actions
unity build on github actions
Unity恐くないよ!!
Unity恐くないよ!!
Unity って何?
Unity って何?
C# で i phone ゲーム開発
C# で i phone ゲーム開発
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア〜モノビットエンジンクラウド〜にて採...
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
Unityでソーシャルログイン機能を実装してみた
Unityでソーシャルログイン機能を実装してみた
Unitynetwork
Unitynetwork
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
PhotonCloudで一ヶ月ゲーム作った話
PhotonCloudで一ヶ月ゲーム作った話
Viewers also liked
BRDF レンダリングの方程式
BRDF レンダリングの方程式
康弘 等々力
Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化
Katsutoshi Makino
Extending the Unity Editor Extended
Extending the Unity Editor Extended
Masamitsu Ishikawa
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
Shota Baba
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
まべ☆てっく運営
Unity エディタ拡張
Unity エディタ拡張
Shota Baba
AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方
Mori Tetsuya
Viewers also liked
(7)
BRDF レンダリングの方程式
BRDF レンダリングの方程式
Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化
Extending the Unity Editor Extended
Extending the Unity Editor Extended
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
Unity エディタ拡張
Unity エディタ拡張
AssetBundle (もどき) の作り方
AssetBundle (もどき) の作り方
Similar to Unityのasset bundle運用実例@lordofknights
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
irix_jp
Osoljp201204
Osoljp201204
Masataka Tsukamoto
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
Masataka Tsukamoto
Shaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPad
JustSystems Corporation
Runtime c++editing
Runtime c++editing
Seiya Ishibashi
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Koichiro Sumi
B 2-1 はじめての Windows Azure
B 2-1 はじめての Windows Azure
GoAzure
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2
Tomofumi Yagi
Chrome Packaged Apps
Chrome Packaged Apps
Ryoya Kawai
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
Takeshi Yoshida
Deep-Dive into Scriptable Build Pipeline
Deep-Dive into Scriptable Build Pipeline
Haruto Otake
ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発
schoowebcampus
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
infinite_loop
分散Key/Valueストア Kai事例紹介
分散Key/Valueストア Kai事例紹介
Tomoya Hashimoto
Intalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
Google Product
Google Product
Daisuke Sugai
Rancher で Docker 利用!
Rancher で Docker 利用!
Tetsurou Yano
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
Similar to Unityのasset bundle運用実例@lordofknights
(20)
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
Osoljp201204
Osoljp201204
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
Shaping up ATOK to fit to your iPhone / iPad
Shaping up ATOK to fit to your iPhone / iPad
Runtime c++editing
Runtime c++editing
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
B 2-1 はじめての Windows Azure
B 2-1 はじめての Windows Azure
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2
Chrome Packaged Apps
Chrome Packaged Apps
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
Deep-Dive into Scriptable Build Pipeline
Deep-Dive into Scriptable Build Pipeline
ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
分散Key/Valueストア Kai事例紹介
分散Key/Valueストア Kai事例紹介
Intalio japan special cloud workshop
Intalio japan special cloud workshop
Google Product
Google Product
Rancher で Docker 利用!
Rancher で Docker 利用!
トランザクションの設計と進化
トランザクションの設計と進化
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Recently uploaded
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Recently uploaded
(12)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
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 now