Unite2014
Unity5.0 アセットパイプライン/アセットバンドル
アセットバンドル
• アセットをなんでもひとまとめにしたもの
※アセットは色んな画像とか音声とかスクリプトとかのデータの総称
どういうときに使うか?
• 後から一部データをDLしたいときとか
• 後からアップデートに配信したいときとか
特にメインどころだけとかの制限はない
どうやっていた?
• 今までは大量で複雑なエディタースクリプトが必要だった。。。
• そのためにリソースに厳密なルールを決めてやらないといけなかっ
た。。。
• 依存関係など解決はとくに面倒。。。
Unity5での目標
• 簡単に
• スクリプトはなしに
• 依存関係はエディターでお手軽に設定できるように
• 時間短縮
今のUnity5の状態
• 比較的簡単なUI
• 依存関係をエディターで設定できるように
• 自動で依存関係を構築できるように
• マニフェストファイルでアセットバンドルの情報が確認できるように
• 変更されたもののみアセットバンドルが更新されるように
• まだスクリプトが少しだけ必要。。。
マニフェストって?
• アセットバンドルの情報が入っているテキストファイル
• 入っているファイル名
• CRCやハッシュ
• 依存関係
• 等
• これをパースしていいように使ってもOK
将来的に
• スクリプトは完全に0へ
• もっと簡単、簡潔に
• バンドル用のBuildSettingsのようなものを用意
• 今回の変更はエディターのみなので、実行中の挙動なんかは変わら
ない
• アセットバンドルの機能はあいかわらず、Pro版のみ
マルチシーンエディティング
• 複数のシーンを同時に編集できる!
既存の問題点
• 複数のシーンをLoadLevelAdditiveなどを使ってゲームを作っている
場合に同時に編集できなかった
• その為片方のシーンを変更して、それに合わせるためにもう片方の
シーンを開いて調整して…といったことも起きていた
• 作業の分割は出来たが、複数のシーンの絡みを確認するのが面倒
だった
複数対応
• 1つのアクティブシーンと、複数のサブシーンという形で2つ以上の
シーンファイルを編集できるように
• サブシーンの追加はエディターのヒエラルキーにシーンファイルをドラッグ&
ドロップすることで可能
• 新たに追加されたSceneMangerを使用することでシーン単位での
GameObjectの追加、削除が可能に
• 今までのように必要なGameObjectをどこかに登録したり、探したりして消す
必要が無くなった
• 今までのApplication.LoadLevel*は使用せず、
SceneManager.LoadLevel*を使用することで恩恵を受けれる
• いままでうまくいかなかったライトマップやオクリュージョンカリングな
どもうまくいくようになっている
• メモリ使用量はApplication.LoadLevel*と大して変わらないはず

【Unite2014】Unity5.0 アセットパイプライン/アセットバンドル