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.

"有翼のフロイライン Wing of Darkness"と歩むUE4の世界

7,239 views

Published on

講演動画:https://youtu.be/B8OsjCxK8qc

2019年10月6日に行われた「UNREAL FEST EAST 2019」における「"有翼のフロイライン Wing of Darkness"と歩むUE4の世界」の登壇資料です。
●公式サイト
https://unrealengine.jp/unrealfest/
===
"有翼のフロイライン Wing of Darkness"はUnreal Engine 4(UE4)を採用し今にいたります。UE4を選択した理由を筆頭にUE4を利用する事の利点、逆に苦戦した点など、開発における利点と欠点の双方を今まさに開発中の実タイトルを例に挙げて解説していきます。

Published in: Engineering
  • Get Paid To Write Articles? YES! View 1000s of companies hiring online writers now!  https://tinyurl.com/vvgf8vz
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

"有翼のフロイライン Wing of Darkness"と歩むUE4の世界

  1. 1. #ue4fest "有翼のフロイライン Wing of Darkness“ と歩むUE4の世界 Production Exabilities / 一柳 守 X
  2. 2. #ue4fest “有翼のフロイライン Wing of Darkness” は開発中のタイトルです ・なるべく正確な内容を伝えられるよう心がけますが、 間違い等は(やさしく)ご指摘ください。 ・リリースに向けて、 当スライドの内容とは異なる物になる可能性が大いにあり得ます。
  3. 3. #ue4fest 自己紹介 フリーランス3Dアーティスト 一柳 守 (Hitotsuyanagi Mamoru) Twitter: yanagiya2058 https://www.exabilities.com/ ※現時点で法人ではありません。 インディーゲーム開発チームです。
  4. 4. #ue4fest ゲーム制作に必要な物 ・プログラム ・アセット(山ほどの) ・上記各セクションに対する理解 ・根気
  5. 5. #ue4fest 開発メンバー構成 (声優さんやパブリッシャーさんは除いてます) プロデューサー (凪良) モブ (一柳) アーティスト(3D) x 5人 コンポーザー x 1人 アニメーター(3D) x 1人 アーティスト(2D) x 2人 プログラマー x 1人 UE4に触るのはここだけ 計12人(現状)
  6. 6. #ue4fest 開発メンバー構成 (声優さんやパブリッシャーさんは除いてます) プロデューサー (凪良) モブ (一柳) アーティスト(3D) x 5人 コンポーザー x 1人 アニメーター(3D) x 1人 アーティスト(2D) x 2人 プログラマー x 1人 UE4に触るのはここだけ 計12人(現状) “普通”に開発をしてたら 日も年も暮れる! (+少人数である事を隠蔽したい)
  7. 7. #ue4fest ゲーム制作に必要な物(今日のお品書き) ・プログラム ・アセット(山ほどの) ・上記各セクションに対する理解 ・根気 システム概要 アセット概要
  8. 8. #ue4fest 有翼のフロイラインは”ネット上の情報だけ”で制 作できます。
  9. 9. #ue4fest ゲームのシステム概要
  10. 10. #ue4fest ゲームのシステム概要 UE4のバージョン・スペック ・4.21.2ベースのエンジンビルド版を使用 +下記ミドルウェアを組み込み済み ・True Sky 4.1a ・FMOD 1.10.10 エンジンビルド版を運用している理由は今回は割愛させて頂きます。
  11. 11. #ue4fest ゲームのシステム概要
  12. 12. #ue4fest ゲームのシステム概要 (分かりづらいので) ゲーム制作は基本的に各Blueprint(BP)間での “情報のやり取りあい”を構築・制御することです。
  13. 13. #ue4fest ゲームのシステム概要
  14. 14. #ue4fest ゲームのシステム概要 –情報のやり取り合い キャスト イベントディスパッチャー インターフェース
  15. 15. #ue4fest 各Blueprint(BP)間のやりとりは 基本的に “Blueprint Interface” を使用 特に理由がない限り、 キャストの使用はしていません。 ゲームのシステム概要 –情報のやり取り合い
  16. 16. #ue4fest イベントディスパッチャー インターフェースで事が足りたので使ってません ゲームのシステム概要 –情報のやり取り合い
  17. 17. #ue4fest インターフェースの実装とは? alweiさんが下記で(書籍でも)解説しています。 http://unrealengine.hatenablog.com/entry/2014/09/23/201458 対象となるBPに“機能・役割”を与える事 ・情報を共有or開示できるようにする ・イベントを実行できるようにする →なんとなく役所の窓口の人みたいですよね? ゲームのシステム概要 –情報のやり取り合い
  18. 18. #ue4fest インターフェースの例 ゲームのシステム概要 –情報のやり取り合い
  19. 19. #ue4fest インターフェースの例 ゲームのシステム概要 –情報のやり取り合い
  20. 20. #ue4fest ゲームのシステム概要 –情報のやり取り合い
  21. 21. #ue4fest ゲームのシステム概要 –機能の細分化 機能は可能な限り細分化した方が良い BP問わず、イベント、関数、マクロ…等々
  22. 22. #ue4fest ゲームのシステム概要 –毎フレーム処理 Event Tick + Widget の Binding (毎フレーム処理) 誰でも簡単に実装できる+簡単に重たくできる→落とし穴 UE4はイベントドリブン方式を推奨しています。 (著名な方々が何度も、何度も言っています) フロイラインでは本当に必要な所に絞って使用しています。
  23. 23. #ue4fest ゲームのシステム概要 –毎フレーム処理 Event Tick + Widget の Binding (毎フレーム処理) Tickを組み込んだ例 ・プレイヤーキャラクター自身 →ステータス+周辺情報の更新 ・ユーザーインターフェース →Widgetのアニメーションで補えなかった部分 ・敵のAI (一部) →自他ともに高速で位置情報が変わるためTickを追加 (ただし毎フレームではないです)
  24. 24. #ue4fest ゲームのシステム概要 –毎フレーム処理 Event Tick + Widget の Binding (毎フレーム処理) Widget の Binding は? 使う理由が無くなったのですべて排除
  25. 25. #ue4fest ゲームのシステム概要 –AI 大きく分けて以下2つ ・敵性・味方フロイラインなど空を飛ぶもの ・設置型の兵器
  26. 26. #ue4fest ゲームのシステム概要 –AI ・敵性・味方フロイラインなど空を飛ぶもの AI Controller (AIC) Behavior Tree (BT) Black Board (BB) を使用した、UE4標準の機能で実装 ※Environment Query System (EQS)の使用は見送りました…
  27. 27. #ue4fest ゲームのシステム概要 –AI Behavior Tree(BT) + Black Board(BB) ・Serviceで自分や相手の位置、回転等をコントロール ・基本的に、“移動する位置“とそれに対する”向き” の組み合わせで制御 ・攻撃+リアクションはTaskにより、 AIキャラクター専用のインターフェースを介して アクターへイベントを流した
  28. 28. #ue4fest
  29. 29. #ue4fest ゲームのシステム概要 –AI 参考(にした)資料 ・第5回 UE4ぷちコン作品を作りました (alwei氏ブログより) ・AI Behavior Toolkit (Marketplaceより)
  30. 30. #ue4fest ゲームのシステム概要 –AI あまり話すと面白みがなくなるので、 リリース後に改めて! じつはAIの制約を設けてますが……
  31. 31. #ue4fest ゲームのシステム概要 –AI 設置型の兵器 ・各アクターにプレイヤー接近を判定するコリジョンを配置 ※100以上のアクター ・各アクターがそれぞれ各個行動(攻撃)を行う しかも場合によっては”Tick”処理を行う ※100以上のアクター
  32. 32. #ue4fest ゲームのシステム概要 –AI 設置型の兵器 ・各アクターにプレイヤー接近を判定するコリジョンを配置 ※100以上のアクター ・各アクターがそれぞれ各個行動(攻撃)を行う しかも場合によっては”Tick”処理を行う ※100以上のアクター 普通に考えて処理負荷が重い!
  33. 33. #ue4fest
  34. 34. #ue4fest ゲームのシステム概要 –AI 設置型の兵器 UE4はイベントドリブン方式を推奨 現在はかたまり毎に“親”を設定して、 親から子へ必要な分だけイベントを流すように設計。
  35. 35. #ue4fest ゲームのシステム概要 –AI
  36. 36. #ue4fest ゲームのシステム概要 –AIまとめ AIのまとめのまとめ ・AIだからといって必ずしも Behavior Tree等を使っている訳ではありません。 (極論、BPでもロジックを組めば”AI”になります。) ・数百単位でアクターが駆動する場合は、 何かしら対策が必要。 (とりあえずくっ付ければ…の考えで先ほどの結果です。)
  37. 37. #ue4fest ゲームのシステム概要 –まとめ ・Blueprint は強力 →非エンジニアでも(気合があれば) ゲームを構築できるほど強力 ・基本は”情報のやり取りあい” →“やり方”を押さえれば大体なんとかなる ・近道は大体重い処理 →誰でもさわれる反面、重い処理も簡単に実装できる
  38. 38. #ue4fest ゲームのアセット構成 (ざっくり) • ゲームのグラフィック • カットシーン(CS)のグラフィック • オーディオ
  39. 39. #ue4fest ゲームのグラフィック
  40. 40. #ue4fest お褒めのお言葉ありがとうございます 4Gamer.netさま IGN Japanさま AUTOMATONさま ファミ通.comさま
  41. 41. #ue4fest お褒めのお言葉ありがとうございます 4Gamer.netさま IGN Japanさま AUTOMATONさま ファミ通.comさま ごめんなさい UE4含め、グラフィックはかなりソフトの力に頼っています
  42. 42. #ue4fest ゲームのグラフィック構成 • キャラクターモデル(兵装) • アニメーション • 背景モデル • 空と大気 • ユーザーインターフェース(UI) • ポストプロセス • エフェクト(Cascade) 多い!
  43. 43. #ue4fest ゲームのグラフィック構成 • キャラクターモデル(兵装) • アニメーション • 背景モデル • 空と大気 • ユーザーインターフェース(UI) • ポストプロセス • エフェクト(Cascade) 多い! 速度重視で取り組まないと…
  44. 44. #ue4fest したがって、グラフィック設計思想 • 少ない手数で大きなインパクトを • 車輪の再発明はしない (既にあるものは既にあるものを使う) • マシンに任せられる箇所はマシンに任せる • どうしようもなくなった時が人の出番
  45. 45. #ue4fest グラフィックの構成に移る前におさらい UE4は”PBR(Physically-based rendering)”を備える 逆に“非写実的な表現”をするには幾つかステップが必要 PBRに逆らう為の仕込みが必要=コスト増加 =写実的な表現が得意
  46. 46. #ue4fest 最初期からUE4の得意とする PBRに寄りそったアセットを作成 (あとは好みの問題) 試行錯誤を要する表現は無し
  47. 47. #ue4fest ゲームのグラフィック -キャラクターモデル(兵装) 全てゲームの為に”オリジナル”のモデルを制作 アーティスト:一柳・ヤマタカ氏・くるつ氏 ソフト:Maya, Blender, Substance Painter
  48. 48. #ue4fest Substance Painter ゲームのグラフィック -キャラクターモデル(兵装) Maya (Blender) ゲームモデル作成 ハイモデル作成 (ノーマル作成) 質感設定 (テクスチャ作成) UE4 組み込み ※一部ZBrush 各アーティストさん 一柳
  49. 49. #ue4fest ゲームのグラフィック -キャラクターモデル 質感の“制約” ・公式ドキュメントにもある作法に則り、Metallicはゼロかイチで指定 ・金属質の場所をモデル全体で2~3割ほどに抑える →黒ずみ、ディティールつぶれ対策 ・表出している箇所は何かしら“加工・処理”がされている →中身は金属でも塗装されていれば非金属(生の金属が見える割合は少ない) ・アーティストの取り扱える情報は、 色(Base Color)、ラフネス(Roughness) のほぼ2点に絞られる。
  50. 50. #ue4fest ゲームのグラフィック –アニメーション 全てゲームの為に”オリジナル”のアニメーションを制作 アニメーター:Midzuki氏 ソフト:Maya Mayaの”Human IK”を使用し、 アニメーション制作を依頼
  51. 51. #ue4fest
  52. 52. #ue4fest ゲームのグラフィック –アニメーション 次からはカスタムリグか、 UE4上のリグを検討してください。 …と遠回しに怒られました。 (本当にごめんなさい) ただしHuman IKはあまり効果的でなかった
  53. 53. #ue4fest ゲームのグラフィック -背景モデル 地形はオリジナル +マーケットプレイスのテクスチャ・Foliageを使用 ソフト:World Machine
  54. 54. #ue4fest World Machine Heightfield Map 各種マスク作成 UE4 Landscape作成 (テクスチャを読み込むだけ) ゲームのグラフィック -背景モデル Foliage配置 (ほぼ自動) テクスチャ設定 質感調整 (マーケットプレイスを活用) ※Procedural Foliage ツールを使用 (しかしまだ実験的機能扱い…) World Machineの操作以外を ほぼ流れ作業化
  55. 55. #ue4fest World Machine Heightfield Map 各種マスク作成 ゲームのグラフィック -背景モデル 実は…重要なのはこちら (UE4外部にデータを残すこと)
  56. 56. #ue4fest ゲームのグラフィック -空と大気 “True Sky”を使用し、空と大気のすべてを担保 (一部を除いてUE4標準のフォグやスカイライトは使用しません) 「エースコンバット7」UE4×TrueSkyでの「雲」の表現について
  57. 57. #ue4fest
  58. 58. #ue4fest
  59. 59. #ue4fest
  60. 60. #ue4fest
  61. 61. #ue4fest ゲームのグラフィック -UI UE4のWidget Blueprintを使用 +マーケットプレイスのシステムを流用
  62. 62. #ue4fest
  63. 63. #ue4fest ゲームのグラフィック -UI マーケットプレイスのシステム • Multi Lock-on System • Radar Minimap • Screen Indicator
  64. 64. #ue4fest ゲームのグラフィック -UI マーケットプレイスのシステム • Multi Lock-on System • Radar Minimap • Screen Indicator いずれも素では使わずカスタマイズしてます
  65. 65. #ue4fest ゲームのグラフィック –ポストプロセス • UE4標準の”ポストプロセスボリューム” + 局所的にChameleon を使用(これもカスタマイズ)
  66. 66. #ue4fest ゲームのグラフィック –パーティクル(Cascade) 専門のエフェクト制作者はチームに居ないので、 マーケットプレイスに頼ってます! ※Epic Gamesさんが提供している サンプルでもほとんど事足ります。
  67. 67. #ue4fest カットシーン(CS)のグラフィック
  68. 68. #ue4fest CSのグラフィック ゲームとは別のプロジェクトで制作・管理しています。 ・4.22.3を使用
  69. 69. #ue4fest CSのグラフィック https://www.unrealengine.com/ja/blog/unreal-engine-4-22-released 4.22と言えば…
  70. 70. #ue4fest RTX- OFF
  71. 71. #ue4fest RTX- ON
  72. 72. #ue4fest RTX- ON
  73. 73. #ue4fest CSのグラフィック https://www.unrealengine.com/ja/blog/unreal-engine-4-22-released 4.22と言えば…見送らせて頂きました
  74. 74. #ue4fest CSのグラフィック • キャラクターモデル • 背景モデル • プロップ
  75. 75. #ue4fest CSのグラフィック –キャラクターモデル 髪や瞳など、 Paragonから改造または参考に ※貴重なデータありがとうございます!
  76. 76. #ue4fest CSのグラフィック –キャラクターモデル ゲームモデルを改造し流用+衣装モデルを新規に制作 アーティスト:一柳 ソフト:Maya, Zbrush, Substance Painter
  77. 77. #ue4fest ZBrush Substance Painter Maya CSモデル転用 (ハイポリ化) 衣装ベースモデル 作成 質感設定 (テクスチャ作成) UE4 組み込み 衣装CSモデル 作成 衣装ハイモデル 作成 CSのグラフィック –キャラクターモデル
  78. 78. #ue4fest CSのグラフィック –キャラクターモデル ZBrush Substance Painter Maya CSモデル転用 (ハイポリ化) 衣装ベースモデル 作成 質感設定 (テクスチャ作成) UE4 組み込み 衣装CSモデル 作成 衣装ハイモデル 作成 わかりづらいので
  79. 79. #ue4fest
  80. 80. #ue4fest
  81. 81. #ue4fest
  82. 82. #ue4fest
  83. 83. #ue4fest
  84. 84. #ue4fest
  85. 85. #ue4fest
  86. 86. #ue4fest
  87. 87. #ue4fest
  88. 88. #ue4fest CSのグラフィック –背景モデル ここぞとばかりにマーケットプレイスに頼ってます!
  89. 89. #ue4fest
  90. 90. #ue4fest
  91. 91. #ue4fest
  92. 92. #ue4fest CSのグラフィック –プロップ 残念ながら、マーケットプレイスに無かったものを 制作して頂きました。 アーティスト:INAMI YUKI氏・ぽっと氏・(一柳) ソフト:Maya, Zbrush, Substance Painter
  93. 93. #ue4fest CSのグラフィック –プロップ
  94. 94. #ue4fest CSのグラフィック 全部を解説していくと ネタバレになるので今回はここまで
  95. 95. #ue4fest グラフィックのまとめ ・UE4のマーケットプレイスは強力 ・UE4のレンダリングは綺麗 ・できない事はやらない or 代替する ・(過程はどうであれ) プレイヤーさんに良い評価していただければOK
  96. 96. #ue4fest グラフィックのまとめのまとめ ・UE4のマーケットプレイスは強力 ・UE4のレンダリングはやっぱり綺麗 ・できない事はやらない or 代替する ・(過程はどうであれ) プレイヤーさんに良い評価していただければOK →ただし、システムに組み込む場合はそのままは無理 →ただし、欲しい絵にする為の前提知識が多い →背伸びして届かないものはすっぱり諦める
  97. 97. #ue4fest オーディオ
  98. 98. #ue4fest オーディオの区分け • BGM – (バックグラウンドミュージック) • SE – (サウンドエフェクト) • ユーザーインターフェース用のSE • ボイス
  99. 99. #ue4fest オーディオの区分け • BGM – (バックグラウンドミュージック) • SE – (サウンドエフェクト) • ユーザーインターフェース用のSE • ボイス “FMOD”を導入し、 ループ可能な音楽を再生しています。
  100. 100. #ue4fest シューティングパートはオリジナルの物を作曲 コンポーザー:Junta氏 オーディオ - BGM ・おっ!と思わせること ・未体験のサウンドを届けたい
  101. 101. #ue4fest
  102. 102. #ue4fest オーディオの区分け • BGM – (バックグラウンドミュージック) • SE – (サウンドエフェクト) • ユーザーインターフェース用のSE • ボイス 全部SEのカテゴリで良いのでは…?
  103. 103. #ue4fest オーディオ - Sound Class + Sound Mixの利用 Sound ClassとSound Mixで カテゴリ分けすることで、 ボリュームの一括調整+ピッチ調整を行っています。
  104. 104. #ue4fest オーディオのまとめ ・UE4はイントロ~ループの音楽を取り扱うのが苦手 →BPではどう頑張ってもコンマ秒レベルの音ズレが発生 →どうしても使う場合、 FMOD, CRI ADX2, Wwiseの導入も視野に入れたい (導入はできる事が増える=夢が膨らみがちなので計画的に…) ・それ以外は基本的に Sound Class, Sound Mixの存在だけ 押さえれば十分だと思います
  105. 105. #ue4fest 大まかな概要は以上です リリース後、各社の秘密・機密保持契約を侵害しない範囲で、 技術情報を全て公開する予定です (冗談ではないです)
  106. 106. #ue4fest ゲーム制作に必要な物 ・プログラム ・アセット(山ほどの) ・上記各セクションに対する理解 ・根気
  107. 107. #ue4fest 各セクションに対する理解を深める
  108. 108. #ue4fest ゲーム制作者は(ほぼ)全ての要素を取り扱う 3Dモデル 2Dイラスト アニメーション エフェクト UI オーディオ シナリオプログラムゲームバランス …他多数
  109. 109. #ue4fest UE4には各セクションの理解に 必要な物が全て揃っている 以下、極端な例です モデラーなら… モデル作成~実装~各キャラのBP・マテリアルを触って 究極のモデルに仕上げられる アニメーターなら… アニメーション作成~Animation BPまで触わって、挙動の調整も可能 コンポーザーなら… 楽曲制作~組み込みだけでなく、BPも触れば動的な音も作れる
  110. 110. #ue4fest 逆に誰でも何でもいじれるので、 やるなら バージョン管理、編集等ルール決めは厳密に (ただしバージョン管理は保険でなく、弄っても良いという保証です)
  111. 111. #ue4fest さいごに告知 (ダイレクトマーケティング)
  112. 112. #ue4fest 10月末にある告知があります
  113. 113. #ue4fest 公式アカウント Twitter P_Exabilities 日本語 Twitter P_ExabilitiesEN facebook Production Exabilities English
  114. 114. #ue4fest パブリッシャー Web https://unties.com/ Web https://www.ukiyostudios.com/
  115. 115. #ue4fest "有翼のフロイライン Wing of Darkness"と歩む UE4の世界 ご清聴頂きありがとうございました。 掲載されている会社名、商品名等は、各社の商標または登録商標です。 当スライドには、”いらすとや”さまのイラストを使用しております。 タイトルイラスト:雅(まさ) ちびきゃらイラスト:箱舟 みかん

×