Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

はじめてのScriptable Build Pipeline

22,115 views

Published on

AssetBundleやゲームをビルドする新機能、Scriptable Build Pipeineの大雑把な概要と、読み方について紹介します。

Published in: Technology
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

はじめてのScriptable Build Pipeline

  1. 1. Scriptable Build Pipeline Tatsuhiko Yamamura @ Unity はじめての Gotanda.unity #9
  2. 2. Scriptable Build Pipelineとは? • AssetBundleやPlayerをビルドする為のパッケージ • ビルドするためのコードを、可能な限り露出したもの
  3. 3. Scriptable Build Pipelineとは? • Addressable Asset SystemでAssetBundleを
 ビルドするために使用しているパッケージ Scriptable Build Pipeline AssetBundle/Playerをビルド Player用 Editor用
  4. 4. Scriptable Build Pipelineとは? • Addressable Asset SystemでAssetBundleを
 ビルドするために使用しているパッケージ Scriptable Build Pipeline AssetBundle/Playerをビルド Addressable Asset System Resource Manager アセットをResources/AssetBundleから取得 アドレスでアセットバンドルを管理 Player用 Editor用
  5. 5. Scriptable Build Pipelineとは? • Addressable Asset SystemでAssetBundleを
 ビルドするために使用しているパッケージ Addressable Asset System Resource Manager Scriptable Build Pipeline Player用 Editor用
  6. 6. Scriptable Build Pipelineとは? • Addressable Asset SystemでAssetBundleを
 ビルドするために使用しているパッケージ Addressable Asset System Resource Manager Scriptable Build Pipeline 使用する アセットの登録 Player用 Editor用
  7. 7. Scriptable Build Pipelineとは? • Addressable Asset SystemでAssetBundleを
 ビルドするために使用しているパッケージ Addressable Asset System Resource Manager Scriptable Build Pipeline 使用する アセットの登録 オブジェクト群と ロケーションの登録 Player用 Editor用
  8. 8. Scriptable Build Pipelineとは? • Addressable Asset SystemでAssetBundleを
 ビルドするために使用しているパッケージ Addressable Asset System Resource Manager Scriptable Build Pipeline 使用する アセットの登録 オブジェクト群と ロケーションの登録 Player用 Editor用 アドレスでアセットを指定
  9. 9. Scriptable Build Pipelineとは? • Addressable Asset SystemでAssetBundleを
 ビルドするために使用しているパッケージ Addressable Asset System Resource Manager Scriptable Build Pipeline 使用する アセットの登録 オブジェクト群と ロケーションの登録 アドレスの解決 Player用 Editor用 アドレスでアセットを指定
  10. 10. Scriptable Build Pipelineとは? • Addressable Asset SystemでAssetBundleを
 ビルドするために使用しているパッケージ Addressable Asset System Resource Manager Scriptable Build Pipeline 使用する アセットの登録 オブジェクト群と ロケーションの登録 アドレスの解決 Player用 Editor用 アドレスでアセットを指定 アセットのロード
  11. 11. 以前は何が問題だった?
  12. 12. 以前は何が問題だった? • 簡単に完結したステージやアイテムを
 配信することを想定(と思われ) • 複雑な依存関係は辛い
  13. 13. 以前は何が問題だった? • 簡単に完結したステージやアイテムを
 配信することを想定(と思われ) • 複雑な依存関係は辛い • AssetBundle Nameを元にして
 依存関係も簡単に構築 • 規模がデカくなってくると
 複雑なルールのせいでむしろ辛い
  14. 14. 以前は何が問題だった? • 簡単に完結したステージやアイテムを
 配信することを想定(と思われ) • 複雑な依存関係は辛い • AssetBundle Nameを元にして
 依存関係も簡単に構築 • 規模がデカくなってくると
 複雑なルールのせいでむしろ辛い もっと自由に制御したい
  15. 15. Unity 5系のBuild Pipeline アセット一覧 AssetBundle GUI操作 スクリプトで制御 成果物
  16. 16. Unity 5系のBuild Pipeline アセット一覧 AssetBundle Nameの指定 AssetBundle GUI操作 スクリプトで制御 成果物
  17. 17. Unity 5系のBuild Pipeline アセット一覧 AssetBundle Nameの指定 出力先のプラットフォーム指定 AssetBundle GUI操作 スクリプトで制御 成果物
  18. 18. Unity 5系のBuild Pipeline アセット一覧 AssetBundle Nameの指定 出力先のプラットフォーム指定 AssetBundle ブラック☆ボックス • アセットの依存関係をまとめたり • AssetBundle同士の依存関係を云々したり • ハッシュ値を作ったり • マニフェスト作ったり • 圧縮したり • なんか色々 GUI操作 スクリプトで制御 成果物
  19. 19. Scriptable Build Pipelineはどうなる? アセット一覧 アセットの収集 依存関係の構築 AssetBundle スクリプトのコンパイル GUI操作 スクリプトで制御 成果物 ハッシュ値の設定 リソースをまとめる ファイルの圧縮 概ねのフェーズで、
 C#で定義した
 独自の制御が可能に ファイルの保存先
  20. 20. 制御出来ると言っても、実際には… • 基本的にはAddressable Asset Systemを利用した
 挙動を使用する形になると思う • 必要に応じてカスタマイズする形が、たぶん楽 Addressable Asset System Resource Manager Scriptable Build Pipeline アセットの登録 アセットの登録 アドレスの解決 アドレスでアセットを指定
  21. 21. 制御出来ると言っても、実際には… • 基本的にはAddressable Asset Systemを利用した
 挙動を使用する形になると思う • 必要に応じてカスタマイズする形が、たぶん楽 Addressable Asset System Resource Manager Scriptable Build Pipeline アセットの登録 アセットの登録 アドレスの解決 アドレスでアセットを指定 独自の処理を
 設定する事も可能
  22. 22. AssetBundleに違いはない • 基本的なデータは
 .resSとSerializeFileで構築される • 2018現在、ロードは概ね別スレッドで実現 • SerializeFileはMainかLoadスレッド • .resSはRenderスレッドでアップロード
  23. 23. 使い方〜Addressable Asset Systemを添えて〜
  24. 24. 使ってみる • まずAddressable Asset Systemを導入
  25. 25. 使ってみる • まずAddressable Asset Systemを導入 • manifest.jsonのdependenciesに com.unity.addressableを追加
  26. 26. 使ってみる • まずAddressable Asset Systemを導入 • manifest.jsonのdependenciesに com.unity.addressableを追加 • AASはSBPを使用しているので、
 勝手に導入されるはず・・・
  27. 27. 使ってみる • Addressable Asset Systemが
 導入された!
  28. 28. 使ってみる • Addressable Asset Systemが
 導入された! • しかしScriptableBuildPipelineは
 見当たらない
  29. 29. 使ってみる • Addressable Asset Systemが
 導入された! • しかしScriptableBuildPipelineは
 見当たらない • 何処に…?
  30. 30. 使ってみる • Library/PackageCacheに
 パッケージが格納されている!
  31. 31. 使ってみる • Library/PackageCacheに
 パッケージが格納されている! • パッケージ参照するパッケージは
 PackageManagerに表示されず
 キャッシュに格納される。
 (たぶん2019.xで修正が入る)
  32. 32. 使ってみる • Library/PackageCacheに
 パッケージが格納されている! • パッケージ参照するパッケージは
 PackageManagerに表示されず
 キャッシュに格納される。
 (たぶん2019.xで修正が入る) • コレで見れるのはコードのみ
 編集するならIDEのサポートを受けたい
  33. 33. 使ってみる • PackageCacheにあるパッケージ
 (com.unity.scriptablebuildpipeline)を
 Packagesフォルダ以下に移動
  34. 34. 使ってみる • Scriptable Build Pipelineが
 追加された! • Addressable Systemは、
 パッケージ内に格納した
 Scriptable Build Pipelineを
 使用してビルドを行う • つまりSBPを書き換えれば
 AASが生成するAssetBundleに
 手を加えられる
  35. 35. 脱線 • Packages以下にパッケージを
 入れると、”宣言に移動”や
 ”参照の検索”も楽に出来る
  36. 36. 脱線 • Packages以下にパッケージを
 入れると、”宣言に移動”や
 ”参照の検索”も楽に出来る
  37. 37. 脱線 • Packages以下にパッケージを
 入れると、”宣言に移動”や
 ”参照の検索”も楽に出来る • ECSとか実装の確認がしたいなら Packagesに移動すると便利
  38. 38. 脱線 • Packages以下にパッケージを
 入れると、”宣言に移動”や
 ”参照の検索”も楽に出来る • ECSとか実装の確認がしたいなら Packagesに移動すると便利 • でもPackagesに含まれるパッケージ はバージョンアップ出来なくなる。
 そこんとこ注意
  39. 39. • Packages以下の
 パッケージなら
 スクリプトデバッグも
 使えた 脱線
  40. 40. • Packages以下の
 パッケージなら
 スクリプトデバッグも
 使えた 脱線 さっき試した
  41. 41. • パッケージの書き換えを行わないなら、
 通常通りmanifest.jsonを書き換えるのが良い 脱線
  42. 42. • パッケージの書き換えを行わないなら、
 通常通りmanifest.jsonを書き換えるのが良い 脱線 • あとはScriptable Build Pipelineで行う
 ビルドの処理を書き換えるだけ…!
  43. 43. 使ってみる Scriptable Build Pipelineの
 実装を理解するための、
 割と簡単なサンプルコード
  44. 44. 使ってみる
  45. 45. 使ってみる
  46. 46. 使ってみる 重要なAPIは3つ • BuildTasksRunner • IBuildTask • IContextObject
  47. 47. 使ってみる 重要なAPIは3つ • BuildTasksRunner • IBuildTask • IContextObject ビルド処理を実行するAPI 処理の実装 処理に使用するデータ
  48. 48. 使ってみる 処理の全体
  49. 49. 使ってみる データを登録 格納するデータは”hoge”の文字
  50. 50. 使ってみる 登録するデータの実装 IContexObjectを継承したクラス 処理するデータや、処理結果を格納する
  51. 51. 使ってみる BuildTaskRunnerから
 呼び出されるタスクを登録する タスクは登録した順に呼び出される
  52. 52. 使ってみる タスクの中身 IBuildTaskを継承したクラス
  53. 53. 使ってみる BuildTaskRunnerで
 呼び出される処理 今回の場合は、単純にログに表示
  54. 54. 使ってみる 事前に登録しておいた
 IContexObjectオブジェクトを取得 
 [InjectContex]属性を設定すると、
 インターフェースが一致するオブジェクトが
 自動的に格納される
  55. 55. 使ってみる タスクを実行
  56. 56. 使ってみる • メニューを押すと、文字が出る 1. Contextに”Hoge”の文字を登録 2. InjectContextでTaskが
 Contexの文字列を取得 3. BuildTasksRunnerで
 登録したタスクを実行
  57. 57. 使ってみる • メニューを押すと、文字が出る 1. Contextに”Hoge”の文字を登録 2. InjectContextでTaskが
 Contexの文字列を取得 3. BuildTasksRunnerで
 登録したタスクを実行
  58. 58. 使ってみる • メニューを押すと、文字が出る 1. Contextに”Hoge”の文字を登録 2. InjectContextでTaskが
 Contexの文字列を取得 3. BuildTasksRunnerで
 登録したタスクを実行 実際どんな感じに使われてるの?
  59. 59. 使ってみる • よく見ると
 Legacy Build Pipelineのコード! • Unity 5系のAssetBundleを
 構築する的なサンプル
 (マニフェストも作る)
  60. 60. コンテキストの登録 Legacy Build Pipelineを少し直したもの
  61. 61. ビルド処理の流れ&やってること Legacy Build Pipelineを少し直したもの
  62. 62. • 読み方さえ分かってれば
 中身は結構シンプル
  63. 63. • 読み方さえ分かってれば
 中身は結構シンプル • 処理を追加したければ
 タスクに追加すれば良い
  64. 64. • 読み方さえ分かってれば
 中身は結構シンプル • 処理を追加したければ
 タスクに追加すれば良い • ね?(思ったより)簡単でしょ?
  65. 65. Scriptable Build Pipeline はじめての
  66. 66. おわり Scriptable Build Pipeline はじめての

×