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.

UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -

7,468 views

Published on

こちらの資料も合わせてご確認ください。
https://www.slideshare.net/EpicGamesJapan/ue4-95204920

63ページ目補足:
AssetRegistryではなく、AssetManagerのロード用ノードの返り値がValidがどうかでインストールされているかどうかを確認することも可能です。


2017年11月25日に行われた「第3回UE4勉強会 in 大阪」で登壇した際に使用した資料です。
https://ue4study-osaka.connpass.com/event/70875/

Published in: Engineering
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -

  1. 1. #UE4Osaka UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 - Epic Games Japan 岡田和也 第3回UE4勉強会 in 大阪
  2. 2. #UE4Osaka 自己紹介 Epic games Japan サポートエンジニア 岡田 和也 ( おかず @pafuhana1213 )
  3. 3. #UE4Osaka 本日のお品書き • 先日韓国で開催されたG-Star 2017の話 • モバイル開発におけるコンテンツアップデートの話 • Project Launcherの話
  4. 4. #UE4Osaka G-Star2017って? 韓国最大のゲームショウ • 韓国版TGS(東京ゲームショウ)のイメージ • G-Star 2016 • 来場者数:211,398人(4日間) • TGS 2017 • 来場者数:254,311人 (4日間)
  5. 5. #UE4Osaka ICARUS M リネージュ2 レボリューションと同じく netmarbleが開発 PC向けのMMORPG 「ICARUS ONLINE」がベース 韓国版の事前登録受付中
  6. 6. #UE4Osaka OVERHIT 昨年末に国内でリリースされた 「HIT」と同じ会社(NatGames)が開発 クオリティヤバイ!!! 日本展開決定! (韓国版は2017/11/28に配信予定)
  7. 7. #UE4Osaka この他にも沢山のUE4モバイルタイトルが…! 4GamerのG-Star 2017特集記事 http://www.4gamer.net/words/011/W01184/ Project EX Blade & Soul Revolution
  8. 8. #UE4Osaka UE4 + モバイルの 今後に乞うご期待! 宣伝タイム終わり
  9. 9. #UE4Osaka 本日のお品書き • 先日韓国で開催されたG-Star 2017の話 • モバイル開発におけるコンテンツアップデートの話 • Project Launcherの話
  10. 10. #UE4Osaka 今日話すこと • キャラクタ・アイテム・マップなどの追加 今日話さないこと • 不具合修正 • 各プラットフォームを介する大幅アップデート
  11. 11. #UE4Osaka なぜコンテンツアップデートを取り上げるのか? 運営型ゲームにおいて コンテンツアップデートに掛かるコストは重要だから! アセット間の依存関係DLサイズによる負荷人 / 時間的コスト
  12. 12. #UE4Osaka コンテンツアップデートを • より早く • より簡単に • より安全に 行うための機能・フロー作りが重要!
  13. 13. #UE4Osaka CEDEC2017( 8/31 ) とある講演にて スライドへのリンク
  14. 14. #UE4Osaka CEDEC2017( 8/31 ) とある講演にて スライドへのリンク
  15. 15. #UE4Osaka 2017/11/25 現在 UE4公式ブログ https://www.unrealengine.com/ja/blog
  16. 16. #UE4Osaka まだ記事が アップされてない!? はあああああ!?
  17. 17. #UE4Osaka ごめんなさい
  18. 18. #UE4Osaka Battle Breakersと モバイルチームに凸って 色々聞いてきました (記事の公開は4.19の頃みたいです)
  19. 19. #UE4Osaka 色々変わっててヤバイ
  20. 20. #UE4Osaka なので、今日は最新情報を共有 • UE4.19で入る機能についても触れます 今回の内容はPC, モバイルで利用可能です • HTML5は未検証 • コンソールに関してはUDNでどうぞ
  21. 21. #UE4Osaka 紹介する機能 Chunk機能 • 各アセットを管理するID Asset Manager • アセットの事前読み込み(裏読み) • Chunk単位でのロード Asset Audit Window (UE4.19で改良) • Chunkに含まれるアセットの確認 • Reference ViewerとSize Map
  22. 22. #UE4Osaka Chunkの日本語訳 • 大きいかたまり • 厚切れ • かなりの量 • たんまり • どっさり • (ずんぐりして)がっちりした人 https://ejje.weblio.jp/content/chunk
  23. 23. #UE4Osaka UE4におけるChunk 複数のアセットを管理するための単位 • Chunk ID (デフォルト:0) システム (ChunkID:0) 追加キャラクタ (ChunkID:1) 追加レベル (ChunkID:2)
  24. 24. #UE4Osaka 初回リソースダウンロードの場合 50MB Chunk ID = 0 800MB Chunk ID = 1
  25. 25. #UE4Osaka 追加キャラクタ (ChunkID:1)
  26. 26. #UE4Osaka 追加キャラクタ (ChunkID:1)
  27. 27. #UE4Osaka 追加キャラクタ (ChunkID:1)
  28. 28. #UE4Osaka キャラクタを一人追加するだけでも、 様々なアセット・データを用意する必要がある! • Blueprint • マテリアル • テクスチャ • ゲーム部分に関する各パラメータ • などなど
  29. 29. #UE4Osaka Chunk IDの設定方法 (UE4.16以前) 各アセット毎のChunk IDを手動で設定 • Editor設定の ”Allow ChunkID Assignments”を有効に
  30. 30. #UE4Osaka
  31. 31. #UE4Osaka 間違いなく 事故る!!!
  32. 32. #UE4Osaka Chunk IDの設定方法 (UE4.17以降) UE4.17で正式リリースされた Asset Managerに含まれる、Chunk IDの設定機能を使用 UE4.17 リリースノート 公式ドキュメント: アセット管理 公式ドキュメント: クックとチャンキング
  33. 33. #UE4Osaka できること Assetクラス単位での一括設定 • フォルダパスで制限可能 フォルダ単位での一括設定 • サブフォルダにも反映可能) コレクション単位での一括設定 Asset, BP単位での個別設定 参照アセットへの設定反映 などなど
  34. 34. #UE4Osaka Asset Managerって? アセットの非同期読み込み(裏読み)を 使用・管理するための機能 以前はC++でのみ提供していました(Streamable Manager) 公式ドキュメント:アセットの非同期ロード
  35. 35. #UE4Osaka Asset Managerがないとき STAGE 1 STAGE 2 ロード開始 ロード完了
  36. 36. #UE4Osaka Asset Managerがあるとき! STAGE 1 STAGE 2 裏読み開始 ロード開始… あ、もうあるやん!裏読み終了
  37. 37. #UE4Osaka 非同期読み込みのメリット・デメリット メリット • ユーザの体感ロード時間を大幅削減! • アセットを呼び出す際のカクつきを回避! デメリット • 非同期読み込みする為のアセット管理・処理が必要に • メモリ管理に注意(特にPC以外)
  38. 38. #UE4Osaka 非同期読み込みを使用する前に • サブレベル • オブジェクトプール の利用も検討すること! https://www.slideshare.net/EpicGamesJapan/robo-recallvr
  39. 39. #UE4Osaka Project設定 → Game → Asset Manager
  40. 40. #UE4Osaka Primary Asset Types to Scan Asset Managerの 管理対象アセットを定義 (プライマリーアセット) • AssetのClassと フォルダパスによる抽出 • Assetを直接指定
  41. 41. #UE4Osaka Primary Asset Types to Scan Asset Managerの 管理対象アセットを定義 (プライマリーアセット) • AssetのClassと フォルダパスによる抽出 • Assetを直接指定 定義に基づいて 裏読みするアセット候補が決定
  42. 42. #UE4Osaka Rulesで設定可能な項目 • Priority • Apply Recursively • Chunk ID • Cook Rule
  43. 43. #UE4Osaka Rulesで設定可能な項目 • Priority • 複数のRules適用対象に なった場合の優先度 • Apply Recursively • Chunk ID • Cook Rule
  44. 44. #UE4Osaka Rulesで設定可能な項目 • Priority • Apply Recursively • プライマリーアセットが 参照しているアセットにも 設定を適用するか (セカンダリーアセット) • Chunk ID • Cook Rule
  45. 45. #UE4Osaka Rulesで設定可能な項目 • Priority • Apply Recursively • Chunk ID • -1の場合は何も設定しない • Cook Rule
  46. 46. #UE4Osaka Rulesで設定可能な項目 • Priority • Apply Recursively • Chunk ID • Cook Rule
  47. 47. #UE4Osaka Cook?
  48. 48. #UE4Osaka UE4のビルドの流れ Build Cook Stage Deploy Run Package 各種アセットを 対象プラットフォーム用に コンバート
  49. 49. #UE4Osaka Cook対象範囲 一般的に、cook対象になるのは 指定したレベルとそのレベルが参照しているアセット Cookしたいけどレベルに紐付けたくないケースがある • フォルダ単位で強制cookする設定もあるけど…
  50. 50. #UE4Osaka Cook Ruleを活用することで より柔軟にCook対象範囲を制御可能! Unknwn: • 対象アセットを 参照している別アセットが CookされるならCookする Never Cook • Cookしない 別アセットに参照されている場合は エラー発生するので注意 Development Cook • Development, Test時はCookする Shipping時は Cookしない (テスト・デバッグ用アセット向け) Always Cook • 常にCookする
  51. 51. #UE4Osaka Development? Test? Shipping?
  52. 52. #UE4Osaka ビルド設定 • Debug(ビルド版のみ) • DebugGame • Development • Shipping • Test(ビルド版のみ) 公式ドキュメント: ビルドコンフィギュレーションの リファレンズ
  53. 53. #UE4Osaka ビルド設定の使い分け Debug / DebugGame • エンジン / ゲーム コードのデバッグ Development • 普段の開発(コードのデバッグも浅く可能) Test • CPUプロファイル Shipping • 配布・販売時
  54. 54. #UE4Osaka Cook Ruleを活用することで より柔軟にCook対象範囲を制御可能! Unknwn: • 対象アセットを 参照している別アセットが CookされるならCookする Never Cook • Cookしない 別アセットに参照されている場合は エラー発生するので注意 Development Cook • Development, Test時はCookする Shipping時は Cookしない (テスト・デバッグ用アセット向け) Always Cook • 常にCookする
  55. 55. #UE4Osaka Asset Managerの更にいいところ Should Acquire Missing Chunks on Load まだダウンロードしていないアセットを Asset Managerでロードしようとした場合、 自動でダウンロード・インストールしてくれる!
  56. 56. #UE4Osaka Asset Managerがないとき
  57. 57. #UE4Osaka Asset Managerがないとき 公式ドキュメント:Mobile Patch Utility ノード
  58. 58. #UE4Osaka 補足:ManifestDir と CloudDir ダウンロードする Chunkのデータ (Chunk ID ≠ 0) Chunkをダウンロードするには ManifestとCloudフォルダのURLが必要 鯖
  59. 59. #UE4Osaka この手法のデメリット ヒューマンエラーが起きやすい環境 • 各Chunk毎のURLを管理する必要がある • Chunkのデータを利用する度に Asset Registryによるチェック処理を追加する必要がある なにより面倒くさい!!!
  60. 60. #UE4Osaka (5スライド前) Asset Managerの更にいいところ Should Acquire Missing Chunks on Load まだダウンロードしていないアセットを Asset Managerでロードしようとした場合、 自動でダウンロード・インストールしてくれる!
  61. 61. #UE4Osaka 現在の実装状況(2017/11/25) 社内のモバイルタイトルで試験運用中 おそらく、4.19のタイミングで実装が整うはず… 申し訳ありませんが、4.19公開までは Asset Registry + Mobile Patch Utilityノードを ご使用ください
  62. 62. #UE4Osaka 現在のコードを見る限り、おそらくこんな形に 1. Asset ManagerのShould Acquire ~ を有効に 2. HttpChunkInstallerプラグインを有効に 3. DefaultEngine.iniに↓な感じのコードを追加 [StreamingInstall] DefaultProviderName=HTTPChunkInstaller [HTTPChunkInstall] XXXXXX = XXXXX (HttpChunkのCloudDirを設定) [HTTPOnlineTitleFile] XXXXXX = XXXXX (HttpChunkのManifestDirを設定)
  63. 63. #UE4Osaka ここまでのまとめ • 複数のアセットをChunk IDで管理する • Asset Managerを使うことで 非同期ロード・Chunk ID一括設定・Cook Ruleを利用可能 • ダウンロード・インストールも自動的に行ってくれる(4.19以降)
  64. 64. #UE4Osaka Asset Managerに関するドキュメント・記事 公式ドキュメント • アセット管理 • クックとチャンキング 解説記事 • UE4 アセットマネージメントフレームワークについて • 【UE4】AssetManagerを使用したレベルストリームの高速化
  65. 65. #UE4Osaka Asset Manager最高!!!
  66. 66. #UE4Osaka だがしかし
  67. 67. #UE4Osaka Asset ManagerによるCook ID管理の問題点 大雑把な指定しかできない • Classとフォルダパスを指定するだけ 各設定の更新・管理しづらい • 大量の項目を管理するには適してない (Battle Breakersでは26個ほど) 複数人での作業ができない • DefaultGame.ini に保存されるため
  68. 68. #UE4Osaka
  69. 69. #UE4Osaka つらい
  70. 70. #UE4Osaka Primary Asset Label を使おう!
  71. 71. #UE4Osaka Primary Asset Label Primary Assetに関する設定を Asset Managerの外で行う事が可能! より柔軟にRules適用対象の アセットを選択可能! Primary Asset Labelはアセットなので 複数人作業・バージョン管理が可能!
  72. 72. #UE4Osaka Primary Asset Labelの作り方
  73. 73. #UE4Osaka Primary Asset Labelの各設定 Asset Managerと同じ Rulesを適用する アセットの条件を設定
  74. 74. #UE4Osaka Primary Asset Labelの各設定 Label Assets in My Directory • Labelが配置されているディレクトリと そのサブディレクトリに含まれる アセットに対して、Rulesを適用
  75. 75. #UE4Osaka 追加キャラクタ毎にフォルダ分けをしておけば LabelによるChunk ID管理が簡単に!
  76. 76. #UE4Osaka Primary Asset Labelの各設定 Is Runtime Label • ラベルアセット自体がcookされ、 ランタイムで利用できるようにする • これはラベルアセットの設定を適用する 各アセットには影響しません • RulesのCook Ruleに従います
  77. 77. #UE4Osaka Primary Asset Labelの各設定 Explicit Assets / Blueprints • Asset / Blueprint単位でRulesを適用 Asset Collection • コンテンツブラウザの コレクション単位でRulesを適用 • 追加キャラクタをコレクションで 管理することで、Chunk ID設定をラクに
  78. 78. #UE4Osaka Primary Asset Label 最高!!!
  79. 79. #UE4Osaka だがしかし
  80. 80. #UE4Osaka Primary Asset LabelによるChunk ID管理の問題点 LabelによるChunk IDを想定した アセット・フォルダ・コレクション構成を構築する必要がある • お手数ですが、よろしくお願いします… Labelの数が大量に増えてしまう恐れがある • Asset Managerによる大雑把な設定と併用することで解決 あるアセットに対して どのChunk ID / Rulesが適用されるかが分かりづらい • 1つのアセットに対して、複数のLabelが適用候補になる可能性
  81. 81. #UE4Osaka UE4.19で改良された Asset Audit(監視)機能の 出番!!!
  82. 82. #UE4Osaka Asset Audit ウィンドウ (UE4.19版)
  83. 83. #UE4Osaka UE4.18以前 Asset Managerが管理している プライマリー / セカンダリーアセットの一覧を表示 • 各アセットのChunk IDは確認可能
  84. 84. #UE4Osaka UE4.19から • Chunk ID単位で確認可能に • 各Chunkの容量を一覧表示 • 各Chunkが持つアセットを リファレンスビューワーと サイズマップで確認可能!
  85. 85. #UE4Osaka 改良されたリファレンスビューワー Chunk ID:0が管理しているアセット
  86. 86. #UE4Osaka 改良されたリファレンスビューワー 対象アセットを管理しているプライマリーアセット
  87. 87. #UE4Osaka 改良されたサイズマップ Chunk ID:0が管理しているアセットのサイズを可視化 (メモリ使用量とはイコールではないので注意)
  88. 88. #UE4Osaka プラットフォーム毎に確認する事も可能 ローカルでCookした場合、 Cook後のデータをプラットフォーム毎に確認可能 • Cook前後でアセットのサイズは変化するため より正確なチェックが可能 • 「モバイルでは不要なアセットが入ってた!」 といった問題をチェックが可能
  89. 89. #UE4Osaka Chunk間でアセットが重複していた場合 チャンク間の親子関係を定義することで 無駄なアセット重複を回避可能 • 子チャンクは親チャンクが持つアセットを含まない DefaultEngine.iniにて [/Script/UnrealEd.ChunkDependencyInfo] +DependencyArray=(ChunkID=100,ParentChunkID=11) +DependencyArray=(ChunkID=101,ParentChunkID=11)
  90. 90. #UE4Osaka ここまでのまとめ • Primary Asset Label と Asset Managerを 併用することで、より柔軟にChunk IDを設定可能 • 各アセットのChunk ID、Chunkが持つアセットは Asset Auditウィンドウなどから確認可能
  91. 91. #UE4Osaka コンテンツアップデートの流れ 1. 各アセットへのChunk IDを設定 • Asset Manager • Primary Asset Label 2. Chunk用パッケージを作成し、サーバーに配置 • ??? 3. Chunk用パッケージをダウンロード • Asset Manager
  92. 92. #UE4Osaka エディタ上でのパッケージング FileメニューのPackage Project • Project設定の Packageカテゴリで各設定を行う Project Launcher • カスタムプロファイルで 各設定を行う
  93. 93. #UE4Osaka Package Projectの場合
  94. 94. #UE4Osaka Package Projectに関するドキュメント・記事 • 公式ドキュメント • プロジェクトのパッケージ化 • 解説記事 • [UE4] 4.9におけるパッケージングまとめ ~小規模タイトル編~
  95. 95. #UE4Osaka エディタ上でのパッケージング FileメニューのPackage Project • Project設定の Packageカテゴリで各設定を行う Project Launcher • カスタムプロファイルで 各設定を行う
  96. 96. #UE4Osaka Project Launcherって? パッケージを作成・実機への転送をしてくれるツール • 実行ファイル( .exeなど ), パッチ, DLC • 様々なプラットフォームに対応 • 処理のプリセットを作成・編集可能 (プロファイル) • Cook・Launch時に渡すコマンドを指定可能 • 公式ドキュメント:コマンドライン引数 • などなど
  97. 97. #UE4Osaka いつ使うの? 通常のパッケージ作成・Launch機能よりも 細かい設定・調整をしたい場合 • Project 設定のPackaging設定では足りない • リリース後に修正パッチを配布したい • キャラクタを追加するためのDLCを作りたい • コンソール開発時にゴニョゴニョしたい • などなど
  98. 98. #UE4Osaka これまで 「いい感じに」 してくれた部分を 手動で設定する必要も出てくるため注意!
  99. 99. #UE4Osaka Project Launcherの開き方
  100. 100. #UE4Osaka 各プラットフォームへの Launch用プロファイル カスタムプロファイル
  101. 101. #UE4Osaka
  102. 102. #UE4Osaka Config Debug / DebugGame • エンジン / ゲーム コードのデバッグ Development • 普段の開発(コードのデバッグも浅く可能) Test • CPUプロファイル Shipping • 配布・販売時
  103. 103. #UE4Osaka Data Build By the book • 前もって必要なアセットを指定してCookしておく On the fly • アセットサーバをPC側に立てて、 実行アプリケーションから要求があった際に Cookを行う手法 Do not cook • アセットをcookしない
  104. 104. #UE4Osaka おさらい: UE4のビルドの流れ Build Cook Stage Deploy Run Package Project Launcherの構成から
  105. 105. #UE4Osaka おさらい: UE4のビルドの流れ Build Cook Stage Deploy Run Package 実行ファイルの作成
  106. 106. #UE4Osaka おさらい: UE4のビルドの流れ Build Cook Stage Deploy Run Package 各種アセットを 対象プラットフォーム用に コンバート
  107. 107. #UE4Osaka おさらい: UE4のビルドの流れ Build Cook Stage Deploy Run Package 実行ファイルやアセットを ひとまとめにするために 別の場所にコピー
  108. 108. #UE4Osaka おさらい: UE4のビルドの流れ Build Cook Stage Deploy Run Stageでまとめられた一式を 指定した実機に送る
  109. 109. #UE4Osaka おさらい: UE4のビルドの流れ Build Cook Stage Deploy Run 送ったファイルを 実機上で実行
  110. 110. #UE4Osaka おさらい: UE4のビルドの流れ Build Cook Stage Deploy Run Package Stageでまとめられた 実行ファイルやアセットを用いて パッケージ作成
  111. 111. #UE4Osaka Host PC 1. アセットを先に転送 2. ゲーム起動 Cook by The Book の流れ 必要なデータを前もってPC上でCookし、 先にゲーム機に転送しておく • ゲームはローカルのデータを見て動く。 0. 先に、アセットをCook
  112. 112. #UE4Osaka Host PC Asset Server 2. Asset Serverにアセットを依頼 3. Assetが CookeされてなければCook あれば、それを転送 4. 転送 1. ゲーム起動 0. Asset Sever を立てておく Cook On The Fly の流れ PC側にアセットサーバを立てて、 ゲーム実行時に必要なアセットを逐次Cookする方法
  113. 113. #UE4Osaka Cook On The Fly の注意点 毎起動時、アセットサーバからアセットを読み込んでくるので、 毎回、非常にロードが遅い。 • ロード時間の計測は不可能 • 大規模になればなるほど、ロード時間の大きさにより イテレーションが回しにくくなる。 ロードするものが少ない軽いシーンでは有効。
  114. 114. #UE4Osaka Data Build By the book • 前もって必要なアセットを指定してCookしておく On the fly • アセットサーバをPC側に立てて、 実行アプリケーションから要求があった際に Cookを行う手法 Do not cook • アセットをcookしない
  115. 115. #UE4Osaka 各プラットフォームへの Launch用プロファイル カスタムプロファイル
  116. 116. #UE4Osaka
  117. 117. #UE4Osaka 各設定・よく使うオプションについて
  118. 118. #UE4Osaka プロファイル名(説明)・プロジェクト指定 ここでプロジェクトを指定しないと、 Cook対象のレベル一覧(後述)が表示されないので注意 • Any Project(任意のプロジェクト)のままでもOK
  119. 119. #UE4Osaka ビルド設定 • チェックボックスでビルドON・OFFを切り替え • Build UAT • UAT = Unreal Automation Tool
  120. 120. #UE4Osaka Cook – By the book Cooked Platforms • 対象のプラットフォームを選択(複数選択可) Cooked Cultures • 対象言語を選択 • 公式ドキュメント:ローカリゼーション • Asset Localizationに関する記事 • ローカライゼーションダッシュボードに関する記事 Cooked Maps • Cook対象のレベルを選択 • Cookされないレベルはゲーム中使えないので注意
  121. 121. #UE4Osaka Cook – By the book (Release/DLC/Patching Settings) Releaseパッケージ用の設定 • Create a release version~ • Releaseを作る際は必ず有効に • DLC / Patchの場合は無効に • Name of the release to create • Releaseのバージョン名(数字以外もOK) • DLC / Patchを作る際に必要になるので注意
  122. 122. #UE4Osaka Cook – By the book (Release/DLC/Patching Settings) DLC / Patchパッケージ用の設定 • Release version this~ • ベースとなるReleaseのバージョン名 • Generate patch • Patchを作る際は有効に • Build DLC • DLCを作る際は有効に
  123. 123. #UE4Osaka
  124. 124. #UE4Osaka Cook – By the book (Release/DLC/Patching Settings) DLCパッケージ用の設定 • Name of the DLC to build • DLCのバージョン名 • include engine content • ベースとなるReleaseに含まれていない エンジンコンテンツを含むか否か • 無効の場合、DLC内のアセットが エンジンコンテンツを使っているとエラー発生
  125. 125. #UE4Osaka Cook – By the book (Advanced Settings) Iterative cooking • 変更があったアセットだけをcook対象に • 2回目以降のcook時間を大幅短縮! Compress content • 圧縮の使用有無 • 基本的に推奨(コンソールは話が変わるので注意)
  126. 126. #UE4Osaka Cook – By the book (Advanced Settings) Store all content in a single file • アセットを1つのPakにまとめる • 無効にすると、パッケージに どのアセットが含まれるかを確認可能 • Chunk機能を使う場合は必ず有効に • Generate Chunks • Chunk機能を使うか否か
  127. 127. #UE4Osaka Cook – By the book (Advanced Settings) Don’t include editor content ~ • エディタ上でしか使わないアセットを パッケージに含めるかどうか • パッケージサイズを大幅削減! • もしあるアセットが エディタコンテンツを参照していると エラーが発生するので注意
  128. 128. #UE4Osaka Cook – By the book (Advanced Settings) Create Http Chunk Install data • サーバからChunkをダウンロードする場合は この設定を有効に Http Chunk Install Data Path • どのフォルダにダウンロード用の Chunkデータを出力するか Http Chunk Install Release Name • Chunkのバージョン名
  129. 129. #UE4Osaka Cook – By the book (Advanced Settings) Cocker build configuration • ビルド設定 Additional Cooker Options • エディタ上では用意されていない より細かな設定を追加 • 例: -nodebuginfo : DebugFilesの生成をOFF
  130. 130. #UE4Osaka Package / Archive Package • パッケージの出力先を設定 Archive • バックアップ用 • Packageとほぼ同じ内容を 別フォルダに出力
  131. 131. #UE4Osaka Deploy 生成したパッケージの転送先の指定 • Launchする場合は設定必須 • 複数の端末に同時に転送できる!
  132. 132. #UE4Osaka Launch Deployしたパッケージの起動設定 • 言語設定や Command Line Parameterの設定
  133. 133. #UE4Osaka For Jenkinsおじさん Project Launcher実行時に出力される Parsing command lineを参考に コマンドからのパッケージングを 組むことをオススメします
  134. 134. #UE4Osaka ここまでのまとめ • Package Projectでお手軽にパッケージング可能 • Project Launcherを使うことで より詳細な設定(プロファイル)を作成可能
  135. 135. #UE4Osaka 最後に Chunk IDとその他のエディタ機能を使うことで コンテンツアップデートがより簡単にできるようになりました! モバイルだけでなくPCでも利用可能なので 是非活用して、ユーザに長く愛されるコンテンツを 作って頂けますと幸いです!
  136. 136. #UE4Osaka ご清聴 ありがとうございました! 本講演に関する質問はこちらからどうぞ! E-mail : kaz.okada@epicgames.com Twitter : @pafuhana1213

×