75.5K Views
March 27, 19
スライド概要
※本セッションには多くの動画が含まれていたり、ノートに備考が記載されている可能性があります。実際の講演で行われたスライドが下記からダウンロード可能ですので、是非そちらをご覧頂けますと幸いです。
講演パワーポイントリンク: https://epicgames.box.com/s/jul33bz0qdggtsr4qksgco03iuuajpgl
登壇者
近藤 希予志さま
内容
コリジョン関連の機能拡張とレギュレーション策定、ワークフローや最適化などで苦労した点などをお話しさせて頂きます。
本スライドは2019年3月15日に行われた「UE4を用いた大規模開発事例紹介 ~スクウェア・エニックス様をお招きして~」にてスクウェア・エニックス様に講演していただいたものです。
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
UE4における大規模背景制作事例 (コリジョン編) 株式会社スクウェア・エニックス ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. 近藤希予志 VFX STUDY GROUP
スライドについて ・PowerPointファイルをEpic様より公開いただいています https://epicgames.box.com/s/jul33bz0qdggtsr4qksgco03iuuajpgl ・スライド内の動画はPowerPointファイルのDLにてご確認ください ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
略称について ・『Unreal Engine 4』をスライド内では『UE4』と記載しています ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
アジェンダ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
アジェンダ コリジョン編 • 自己紹介 • 最適化事例 • ワークフローの改善 • 困ったこと • 運用事例 • まとめ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
自己紹介 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
自己紹介 • 近藤 希予志 コンドウ キヨシ • エンバイロメントアーティスト • 背景アーティストとして勤務 • 背景が誉められると嬉しい • 気が付いたらゲーム中でも、足元を見ている • コリジョン回りで苦労したので共有、デザイナー目線で解説します ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
ワークフローの改 善 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
ワークフローの改 善 前作ではどうだったか?(前日譚的な作品) • UE4初、作りながら仕様が決まる • コリジョンを考慮しないアセット群 • 大きな問題が開発後期に集中 • 過剰な仕様 • 後手後手で大変でした ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
ワークフローの改 善 前作の反省を元に何か改善できないか? →今作は • 「人」と「時間」を割いた(1年前から準備) • 担当者を集めて、仕様確認と記述 • メンテしやすい仕様に • ドキュメント化、共有の徹底 • 自動プレー、テスト班(チーム内QA)を導入 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
ワークフローの改 善 改善はあったか? • 発売後いつもよりコールセンターの問い合わせがかなり減った • ネットの書き込みも「バグが少ないね」とマズマズの反応 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
ワークフローの改 善 まとめ • 地味なところだが、ユーザーに気付いてもらえると、嬉しい 頑張って良かった • 失敗を元に改善できた「人」と「時間」が 割けて、良かった ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 こんなゲームを作ってました(比較動画) UE4 今プロジェクト 地形の見た目もキープ、瞬時に地形を判定してアクションを起こすため コリジョンが重要 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 主な使い分け • 単純なコリジョン(Simple又はConvex) 小物、建物サイズなど • 複雑なコリジョン(Complex) 地形、複雑な形状など • 物理ボリューム(Physics Volume) 素材(足音)、コリジョン設定オーバーライド • ランドスケープ(Landscape) 水平で広いマップ、LODレベルでコリジョン指定 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 主な設定項目 • ウォーカブル(Walkable) 歩行判定、乗れては困る所はUnwalkable • コリジョンプリセット(Collision Presets) コリジョン反応をプリセットで設定 • 物理マテリアル(Physical Material) 材質毎に指定(水、石、木、金属…)足音 • コリジョン属性(Collision Attribute)※追加 プロパティをコンポーネント毎設定(ぶら下がり、壁のぼり、壁けり)指定 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 ウ ォ ー カ ブ ル ( Wa l k a b l e ) を 可 視 化 水色 歩行可 ピンク 不可 ※エンジン改造 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 物理ルマテリアル(Physical Material)を可視化 材質(足音)毎に色分け ※エンジン改造 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 コリジョン属性(Collision Attribute)を可視化 ぶら下がり、壁のぼり、壁けりなど それぞれ設定個所を赤く表示 ※エンジン改造 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 コリジョンの複雑度(Collision Complexity) コリジョンの複雑度が変わると「コリジョンが作り直し」 に成るので、どれを選択するか重要(基本部分おさらい) • Simple And Complex 単純+複雑 両方 • Use Simple Collision As Complex 単純 だけ • Use Complex Collision As Simple 複雑 だけ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 自動凸型分解は使わない(Auto Convex Collision) • QAレベルでNGが出た • 基本手作りDCCツールで作成 → UCXで内包 • 複雑な地形はポリゴン削減ツール → DCCで修正 • オートだとコリジョンチェックしない人がいた ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 例1 自動凸型分解は使わない(Auto Convex Collision) 表示 手動(正解) 自動 パッと見問題無いが、アクションのバリエーションが高いので、何らかの問題が生じた ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 例2 自動凸型分解は使わない(Auto Convex Collision) 表示 手動(正解) 自動 プレイヤ挙動を考え「このコリジョンはこうあるべき」となるので自動は難しかった ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 コリジョン法線は ハードエッジ • スムーズエッジとハードエッジでは、判定結果が異なる ハードエッジ ソフトエッジ ウォーカブルの違いを確認 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 IKコリジョンを別途 局所使用 • 足の接地感を向上させるため、別途用意 • 表示モデル参照は、処理とメンテコスト を考えて却下 • それでもコストが倍に成るので、使用条件を絞った ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 動く地形は Simpleコリジョン • Complexだとコリジョンが抜けた(中身ない) • Simpleで対応(中身あり) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 「抜ける x 抜けにくい」イメージ Simple(単純) Complex(複雑) 中身ある 中身ない 抜けても 後がある 抜けると 後がない ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 ナビメッシュは • 基本5 8種類 特大3 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
運用事例 ウォーターカレント • 専用のスプラインとボリューム • 水濡れ、川流れ、吹雪、扇風機などで使用 (ボリュームに入ると、パスに沿って押されるような表現) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 出来るだけシンプルに • トライアングル数減、表示の1/10目標 • プリミティブ数、50以内 • 50以上は、Complexに ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 不要なコリジョンのNoCollision化(消す) • 入れ子(コリジョン内にコリジョン) • プレイヤー移動範囲外 • だが、移動範囲外でもカメラは移動できるで、軽めを用意した ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 密集したコリジョンの整理 • 入り組んだコリジョンは簡易化して置き換え • 自然地形は特に大変だった • 複数のコリジョンは合体して一つに ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 大きい(?m単位)コリジョン分割 • 作業コストの割に劇的な変化は無かったので慎重に (何で?m = 何パターンも作って比較作業が大変) ? ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 大きい(敵など)コリジョンは負荷が高い • 何でこんなシンプルな構成で重いの? • 大きい = たくさん当たる • 他に負荷が上がる条件として (多い、移動が早い、高低差など) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 コリジョンの複雑度の設定(Collision Complexity) • [Use Simple Collision As Complex] 選択で Complexを 持たない分メモリ削減 • こんな単純な事がプロジェクト後半に分かった 埋蔵金発見! • 後半メモリがカツカツだったので助かった ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 PhysX PhysX PhysX Simpleコリジョンの注意点 • プリミティブ数が多すぎると、負荷が上がる(50以下に) • プリミティブ数が多すぎると、メモリ激増(Complexに置き換え) (例) PhysXメモリが1/4に Simpleコリジョン( 500 プリミティブ、5000 tri) PhysXメモリ 57 MB Complexコリジョン(1 プリミティブ、5000 tri) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. PhysXメモリ 15 MB VFX STUDY GROUP
最適化事例 広域なマップは距離で消す • 手作業で消す設定は限界 • プログラム対応(ミニゲームなど) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 物理アセットは普段は停止、たたいたら起動 • 起動後(距離、時間、たたく回数)消滅 • コリジョンはSimple ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
最適化事例 コリジョン負荷計測について(まとめ) • 全て実装した段階でないと、計測に意味が無かった • ケースバイケース 原因特定が大変だった • コリジョンを最適化すると、最大1msは下がった が手間もメンテも超大変なので適所相談 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと Complexの問題 中身ある 中身ない 抜けても 後がある 抜けると 後がない • Complex(中身ない)はコリジョンが抜けると判定できない • だが複雑な形状は、担保出来ないので使用した (原作再現、絵作りも担保する必要がある) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと ナビメッシュにも配慮 • アセットやレイアウトが日々更新されるので点検が疎かに • 切断、飛び地、ゴミメッシュが生成されないか、定期的に確認 • プロジェクト末期、ゲーム進行に影響するので特に注意 (NPCがついてこない、ボスが移動圏外に出現した等) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと Simpleコリジョンは物理マテリアルが1個しか設定できない • ポリゴン単位に、プロパティが設定できない • 複数設定したい場合、複数用意した ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと コリジョンプリセット設定が複雑 • チャンネル数が多く、組み合わせや整合性が大変だった • 後半プリセット数も増え、選ぶだけで大変だった (背景が良く使うのは右図の5個ぐらい) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと コリジョンプリセット設定Customはトラブルの元 • 設定した人しか、意図が分からない • 問題が起きた時、確認が大変だった(担当者が不在だったり) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと 物理マテリアル数の増加 • 追加は簡単なので、ほっとくと知らない所でどんどん増えた • 設定コストとメンテが大変なので、半分に減らした ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと 任 意 に Wa l k a b l e 変 更 で の ト ラ ブ ル • コリジョンを調べていたら、実はWalkableが原因だった • やたらUnwalkable(乗れない)設定されバグの温床だった ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと 物理ボリューム数の増加(足音など) • 頂点カラーやフォリッジ増で物理ボリュームも増える • 頑張れば細かく配置できる、最大1000個以上に成った • メンテしやすい「荒いレギュレーション」に変え、数を減らした ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと 例 物理ボリュームが増えるイメージ 頂点カラー(水)フォリッジ(草)など足音属性が増えと物理ボリュームも増える ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと カットシーン →インゲームの「遷移」で結構問題が起きた • 自然地形など差分が有る場合、遷移時にズレが生じた カットシーン インゲーム PC接地:表示モデル PC接地:コリジョン • コリジョン修正で対応 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと レイキャストで問題が出た(フォトモードなど) • 一部、木や屋台などSimpleコリジョンのみ(メモリ削減のため)にした 結局レイキャスト用にComplexコリジョンが必要に成った 木: 葉にコリジョンが無いので レイが通過してしまう 屋台: コリジョンに包まれて 中にレイが通過しない ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと インスタンス化したことで問題が起きた • 淵でスムーズに滑り落ちる仕様 淵と淵の間に挟まると逃げ場が無くTポーズ • 別モデル同士は対策を入れた(同一モデル内は不可) • 最適化でインスタンス化(同一モデル)→不具合が大量に ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと 頂点間が広すぎるとコリジョン計算精度に影響が有るのでは? • 巨大な一枚板のコリジョン、クック時にワーニングが出る • 頂点間45m以内だと出なかった ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと PhysXの不具合 • Capsule vs Capsuleで計算誤差があり、まれに抜けた • プログラマーに修正してもらった ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと すき間をカプセルコリジョンで埋めた • レイアウトやコリジョン修正では、対応が難しい場合があった • ナビメッシュに影響しない設定で、数を制限して置いた (前作では沢山置き過ぎてエンバグの原因) ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
困ったこと 壁側へのPCアクション拡張 • 壁側も、ある程度の精度でメンテが必要に • 広いマップは、メインルートから離れるほど精度を落とした • 精度を落としたので、壁側のカメラ抜けが大量に発生した ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
まとめ ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
まとめ • 当初UE4は「アクションゲームは難しいのでは?」と思われていたが プログラマがかなり手を入れて改善してくれた • ランドスケープや自動コリジョンなど、新しい芽は出てきているが コリジョンは手触りの部分なので、どうしても人間に頼ってしまった 特に広いマップは品質を担保するのが大変だった →次への課題 以上となります、参考に成れば幸いです ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP
ご清聴ありがとうございました UNREALはエピック・ゲームズ・インコーポレーテッドの商標または登録商標です。 その他掲載されている会社名、商品名は、各社の商標または登録商標です。 ©2019 SQUARE ENIX CO., LTD. All Rights Reserved. VFX STUDY GROUP