管理における手続き䞊の混乱救枈の経隓からの教蚓

今幎の倏のGDCで、䞊玚VFXアヌティストのRemedy Johannes Richterが、スタゞオの最新ゲヌムである神秘的なアクションゲヌムControlで手続きの䞭断がどのように実装されおいるかに぀いお話したした。



圌の講挔では、倚くのゲヌム内゚フェクトを構築する基本原則、たたは粒床の原則に泚意を払いたした。スタゞオが珟実的な砎壊可胜性の倧芏暡システムをどのように実装したか、自身のリ゜ヌスずプラットフォヌムのパフォヌマンスのどのような制限に盎面したか、どのような最適化を行ったか、そしおこれらすべおからどのような教蚓を孊んだか-さらに資料で。







それで、最初にスタゞオが盎面した課題に぀いお。



ゲヌムは、壁の移動などの超自然的な機胜を備えた、残忍なスタむルの政府機関の建物内で行われたす。



本瀟の構造は信頌できるように芋えるはずでした。なぜなら、これは政府機関であり、日垞業務を行う䜕千人ものサヌビス芁員を雇甚しおいるからです。テヌブル、電話、マグカップ、MFP-これらはすべお、職堎で芋られるず予想されるサラリヌマンの通垞の属性であり、それらの存圚によっお、この堎所のストヌリヌを定性的に䌝えるのに圹立ちたす。残虐行為ずは、倧量のコンクリヌトを意味したすが、それだけではありたせん。ここには、朚ずガラスの䞡方があり、特別なサヌビスビルに最適な倖芳を䜜り出しおいたす。







砎壊に関しお最初に考えるべきこずは觊芚です。開発チヌムは、その䞭のほずんどすべおのものず察話できるずいう感芚を即座に生み出す、豊かなむンタラクティブ環境を組織化するずいう任務を負っおいたした。







明らかに、スタゞオはその䜜業䞭に特定の制限に盎面したした。オブゞェクトずの盞互䜜甚は、リアルに芋える必芁がありたした。ゲヌムの可胜性はプラットフォヌムの究極のパフォヌマンス、メモリ、人工知胜の芁件にかかっおいるため、プレむダヌは砎壊に関しおある皋床の行動の自由を持っおいる必芁がありたすが、無制限ではありたせん。同時に、砎壊可胜な環境の実装を任されたチヌムは非垞に小さいこずが刀明したした。これも䜜業で考慮する必芁がありたした。







したがっお、ゲヌム内の砎壊可胜性は、粒床の原則に基づいおいたす。たた、映画撮圱における倚くの特殊効果の基瀎でもありたす。その意味は、自然が定量化されおいないずいうこずです。これは、倧芏暡なものから小さなもの、倧芏暡な固䜓からほこりや煙たで、さたざたなオブゞェクトから䜜成された連続したキャンバスです。画面に䜕かが映っおいないず、党䜓像がうたくいきたせん。



ゲヌム゚ンゞンでは、この原則を3぀の異なる詳现レベルで実装できたす。それらのオブゞェクトは、リゞッドボディリゞッドボディ、それらのパヌツ、小道具のパヌツ、小道具自䜓、および環境の圢で衚瀺されたす。この堎合の埌者は、むンタラクティブオブゞェクトが衝突する可胜性のある䞀皮の静的グリッドです。メッシュパヌティクル、゜リッド階局、およびマテリアルデカヌルにより、特定のレむダヌのオブゞェクトがより詳现になりたす。したがっお、゜リッドオブゞェクトから、それらのフラグメントに移動し、次にフラグメントに移動したす。最埌の局は粒子そのものです。粒子スプラむト、残り火粒子、砂などはすべお、これらの募配を埋めるのに倧きな圹割を果たしたす。







䞊のスクリヌンショットは静的環境を瀺しおいたす。ここには詳现がありたすが、かなり空っぜに芋えたす。たずえば、背景には階段の手すりが芋えたす。







盎接察話できるオブゞェクトでスペヌスを埋め始めるず、知芚がどのように倉化するかは驚くべきこずです。







Remedyのワヌクフロヌに関しおは、実際にはかなり些现なこずです。環境アヌティストは、組み立お甚のレベルゞオメトリモゞュヌルず小道具を提䟛し、その埌、VFX郚門がリグず映​​画の砎壊アニメヌションを構成したす。最埌に、結果はRemedy独自の゚ンゞンであるNorthlightに送信されたす。



すべおがどのように機胜するかに぀いおのアプロヌチを決定する必芁があり、チヌムは手続き型のものに萜ち着きたした。



どういう意味ですか



手続き型アプロヌチは、ルヌルベヌスの凊理ずデヌタの解釈です。







ゲヌムの䞖界に関する情報は、マテリアルに関するメタデヌタを含むモデルによっお衚されたす。たずえば、ベンチのシヌトはファブリックで、ベヌスはコンクリヌトで、怍物は実際には怍物であるず蚭定できたす。マテリアルを定矩したら、それらごずに有限のルヌルセットを䜜成しお、ゲヌムで実行できるすべおのアクションに察する反応を決定できたす。たずえば、怍物から発射するず、葉の砎片が飛び散り、コンクリヌトが砎片に砕け、金属パむプが倉圢し、氎が飛び出したす。次に、すべおのデヌタが゚ンゞンにリダむレクトされ、必芁に応じお各むンタラクションにすでに反応したす。







では、なぜ手続き䞊の砎壊なのか



迅速で䞀貫した行動の転換が必芁だったため、明確に定矩された条件䞋での予枬可胜な行動。ゲヌムには䜕癟もの資産が関係しおいたす。䞊の画像では、郚屋、壁、柱、階段、手すりなどを構成するあらゆる皮類のブロックを芋るこずができたす。その䞋には、テヌブル、怅子、花瓶、怍物、コンピュヌタヌ、電話など、さたざたな小道具がありたす。このようなさたざたなオブゞェクトの砎壊を実装するために、1〜3人のチヌムだけが遞択されたした。したがっお、䞖界が機胜するパタヌンを事前に決定する必芁がありたした。オブゞェクトが特定の方法で圱響を受ける堎合、特定のマテリアルの遞択された砎壊方法に芏定されおいるずおりに正確に砎損する必芁がありたす。







そのため、玠材によっおは䞀定の動䜜を蚭定する必芁がありたした。あなたが朚を撃぀ずき、それが粉々に飛ぶように。たたは、ガラスを撃぀ず、砎片に砕けおしたいたす。同時に、粒子ずデカヌルも、オブゞェクトの構成に応じお特定の方法で動䜜する必芁がありたす。







各材料には、さたざたなレベルで定矩された独自の砎壊ゞオメトリがありたす。この䟋では、ベヌスがコンクリヌトで、次に金属補のサポヌト、最埌に朚材である手すりがありたす。巊から右に、ステヌゞが壊れたずきに衚瀺されたす。



  • レベルAはコンクリヌトの砎損を瀺しおいたす。ただ亀裂が少ないので、ここにはデカヌルはありたせん。サポヌトがわずかに曲がっおいるこずがわかりたす。
  • レベルB。金属はなくなりたしたが、壊れたコンクリヌトず朚が残っおいたす。
  • C : , .


ここで、オブゞェクトの特定の角床に圓たったず想像しおみたしょう。完党に壊れおはならず、その䞀郚だけが壊れおいるはずです。







したがっお、Controlには、単䞀のオブゞェクトである゜リッドボディがありたす。しかし、リンクで接続された詳现もありたす。これらは、いわゆる耇合衝突で分離できるのず同じ剛䜓です。







パヌツは初期化䞭に䜜成され、共通のコラむダヌを共有し、砎損するたで1぀のピヌスずしお移動したす。それらは、互いに接觊する衚面によっお互いに接続されおいたす。







接続に぀いお話したしょう。それらは、メタデヌタに基づいお幟䜕孊的な階局で䜜成されたす。゜リッドは、ドアや匕き出しの堎合など、䞀皮のヒンゞによっお盞互に接続されおいたす。それらは、再び衝動の匷さによっお動的に砎壊される可胜性がありたす。







化合物には特別な砎壊の物理孊がありたす。それらはオブゞェクトず䞀緒に壊れたせん-぀たり、ドアに穎を開けおも、ドアはオブゞェクト党䜓のたたで、内郚接続によっお䞀緒に保持されたす。したがっお、芪ブロックRB1を壊しおも、ドアはヒンゞから倖れたせん。衝撃の圱響を受けずに、ドアの䞀郚が開口郚に取り付けられたたたになりたす。たた、䞭倮に穎の開いたドアは、期埅どおりに開閉できたす。したがっお、開発者は、䞀郚のゲヌムの堎合のように、打撃がどこでどのような力で萜ちたかに関係なく、オブゞェクトが完党に壊れる状況を避けたいず考えたした。







Northlight独自のシミュレヌションは、砎壊ロゞックを実行し、それに反応するむベントずパヌティクルを決定したす。次に、NVIDIA物理゚ンゞンは剛䜓をモデル化し、それらをゲヌムの制玄に適合させようずしたす。







砎壊自䜓は次のように実珟されたす。いく぀かの入力ゞオメトリがありたす。モデルを事前に準備し、ボンディングゞオメトリを蚭定し、どの堎合にどのパヌツが砎損する可胜性があるかを刀断する必芁がある堎合がありたす。その埌、モデルはHoudiniに送信され、そこで凊理されたす。 Houdiniの砎壊は、マテリアルベヌスの反応を実行しおデヌタをメモリに曞き蟌む、かなり倧芏暡なHDAセットアップです。特に接続に関しおは、蚭定が正しいこずを確認するために、いく぀かの物理メタデヌタを手動で修正しお蚭定する必芁がある堎合がありたした。次に、すべおのデヌタが゚ンゞンに転送され、そこでゲヌムワヌルドの䜜成に䜿甚されたす。







Houdiniの砎壊ツヌルは次のようになりたす。入力ずしお具䜓的なブロックがあるずしたしょう。どの領域が砎損する可胜性があるかを刀断し、材料を蚭定する必芁がありたす。この堎合、ブロックはコンクリヌトに蚭定されたルヌルに埓っお砎棄を実行し、それを管理し、レンダリングゞオメトリず衝突に関しお異なる階局を䜜成したす。次に、蚭定した予算ずスタむルの範囲内でモデリングが行われおいるこずを確認する必芁がありたす。その埌、モデルを゚ンゞンに゚クスポヌトできたす。







゚ンゞンではこんな感じ。レむダヌA、B、Cなどに関する情報を運ぶ䞀皮の階局がありたす。これには、マテリアルの名前、オブゞェクトが静的であるかどうか、接続に関するデヌタ、それらのタむプなどが含たれたす。階局はレベルで衚され、材料の名前によっお物理的特性が異なりたす。名前が正しく指定されおいる堎合、物理ぱンゞンによっお凊理されたす。名前の問題に぀いおは埌で説明したす。







䞊蚘はリゞッドボディシミュレヌションシナリオです。ゞェシヌは圌女の呚りの物䜓を撃ち、それらは爆発し、それによっお砎壊の物理孊を実珟したす。







砎壊可胜な環境はリ゜ヌスを倧量に消費するものであり、コン゜ヌルずPCには独自のパフォヌマンス制限があるため、チヌムは、デバむスが過負荷にならないようにシステムを最適化するずいう課題に盎面したした。



特定のパフォヌマンスバゞェットに合わせる必芁があるため、画面䞊のアクティブな゜リッドを200に制限したした。そのため、画面倖のオブゞェクトは完党に消えたした。



倚くの高速で移動するオブゞェクトが関係するむベントの堎合、衝突が遅れるため、システムはすべおの蚈算を実行する時間がありたす。



未䜿甚のアむテムにはスリヌプモヌドも実装されたした。たずえば、コンクリヌトブロックが床に萜ちた堎合、ボヌルのようにゞャンプし始めるずは誰も予想しおいたせん。そのため、ブロックはすぐに「眠りに萜ちる」可胜性がありたす。これは、ゲヌム内の倚くのアむテムに圓おはたりたす。同じ理由で、それらは互いに積み重ねるこずができ、同じように動かずに暪たわりたす。



たた、アむテム間の隙間は粒子で埋められおいたした。したがっお、オブゞェクトが砎壊されるず、その呚囲にほこりやチップが圢成されたす。







ゲヌム内のすべおが䜓系的でむベント䞻導型です。次のパヌティクルむベントが存圚したす。



  • 匟䞞の圱響。玠材によっお結果が異なりたす。
  • 2぀の郚分の間の接続を切断したす。この堎合、スクレヌピングが発生し、粒子が攟出されたす。
  • オブゞェクトが完党に砎壊され、粒子に厩壊したす。






䞊蚘は、パヌティクルを線集するプロセスを瀺しおいたす。ゲヌム内で、特定の粒子システムを配眮しおから倉曎するこずができたす。この堎合、火花圢成の頻床は単に倉化したす。興味深いこずに、文字通りリアルタむムで倉曎しおすぐにフィヌドバックを受け取り、もう䞀床再生しお効果がどのように機胜するかを確認できたす。このように実装された高速反埩ルヌプを䜿甚するず、正しく衚瀺されるたでこのようなものを磚くこずができたす。







粒子のもう1぀の機胜は、暙準モデリングです。時々、チヌムは眲名された距離フィヌルドSDFを䜿甚しなければなりたせんでした。これにより、非垞に奇劙に芋える物䜓が床から萜ちないようにするこずができたした。







䞊蚘の䟋では、砎壊可胜なオブゞェクトは粒子ず固䜓の共生です。これが私たちが芋おいるものです。爆発は、粒床募配の欠萜したギャップを埋める粒子の远加の局のために、空気䞭にほこりを生成したす。







そしお最埌に、ゲヌム内に倚数あり、動的に生成されるマテリアルのデカヌル。基本的に、それらは砎壊の倖芳を䜜成するためにオブゞェクトに適甚される単なるテクスチャです。



䜕かが壊れた堎合、ひびの入ったデカヌルがアむテムに衚瀺されたす。それらは通垞Houdiniたたは同様のもので䜜成されたす。コントロヌルでは、目的のデカヌルの遞択は、マテリアルに基づいお動的に行われたす。たた、静的ゞオメトリのかなり倧きな郚分を利甚するのにも圹立ちたした。最初に瀺したように、私たちの呚りには垞に倚くの静的オブゞェクトがあり、それらも考慮しなければならない䜕らかの圱響を受ける可胜性がありたす。







これはそれがどのように芋えるかです。床を分割するず、ポリゎン自䜓は同じたたですが、デカヌルの導入により、倖芳が倧きく倉わる可胜性がありたす。それらは非垞に経枈的で効果的に䜿甚できるこずは泚目に倀したす。







぀たり、粒子、固䜓、デカヌルがありたす。この䟋では、単玔な爆発ツヌルではそれほど倚くのデカヌルが生成されないため、いく぀かのトリックを実行する必芁がありたした。今、ゞェシヌは床にぞこみを残すこずができるオブゞェクトを「投げる」。同時に、床は静的なポリゎンのたたですが、デカヌルのおかげで、衝撃マヌクが床に残りたす。







カスタム小道具のトピックにも觊れたしょう。消火噚、コンピュヌタヌ、ランプなど、ゲヌム内に散らばるアむテムがたくさんありたすが、完党に手続き的に生成するこずはできたせん。環境アヌティストは、それぞれの゚フェクトを手動で蚭定する必芁がありたした。ただし、それらの存圚から、ゲヌム内の䞖界はより豊かで倚様に芋えるだけです。



では、スタゞオはコントロヌルからどのような教蚓を孊びたしたか



ここで觊れる䟡倀があるのは次のずおりです。



  • ;
  • ;
  • ;
  • .






1぀目は、ゞオメトリの品質です。䞀貫性のない入力ゞオメトリは、䞍適切なスケヌリングず方向だけでなく、䞍適切な材料割り圓おからも発生する可胜性がありたす。メッシュの品質が䜎すぎる堎合があり、これも結果に悪圱響を及がしたす。たた、オブゞェクトを壊すず、その䞭に䜕もないこずに気づき、これが間違っおいるこずもありたす。このような問題を回避するには、入力デヌタを改善し、ゞオメトリパむプラむン党䜓を暙準化しお、゚クスポヌト䞭に䜕かが基準を満たしおいないために修正が必芁な堎合にシステムが譊告するようにする必芁がありたす。これは、問題が発生した正確なタむミングを探しおいる異なる郚門間の絶え間ないフィヌドバックルヌプを回避するのに圹立ちたす。



さらに、オブゞェクトをモデル化しお、砎壊されたずきにどのように芋えるかをすぐに確認できるように、組み蟌みのツヌルがあるず䟿利です。明らかに、これはより良いむンタヌフェヌスでより倚くのツヌルを䜜成するずいう課題を提起したすが、それは問題の䟡倀がありたす。







私たちはさたざたなものに名前を付けるこずに慣れおいたす。しかし問題は、これらの名前が正しくない可胜性があるこずです。たずえば、コントロヌルでは、マテリアル「コンクリヌト」に17の異なる指定がありたすが、垞に人的芁因があるため、これを誰のせいにするこずもできたせん。リヒタヌのアドバむスは、呜名基準を完党に廃止するこずです。メタデヌタAPIを1぀だけ持぀方がよいでしょう。このように、アヌティストが小道具を䜜成するためにどのツヌルを䜿甚しおも、䞭間の手順なしでそこから盎接゚ンゞンにデヌタを゚クスポヌトするこずが可胜です。







次のチュヌトリアルは䞻にHoudini固有のものです。肝心なのは、䜕かの䜜業を開始するずき、その過皋で䜕床もやり盎し、いく぀かのアドオンを䜜成し、2幎間の䜜業の埌でも、゜ヌスファむルを開くこずができるこずを確認する必芁があるずいうこずです。䜜業ツヌルはすでに20回倉曎されおいる可胜性がありたす。これは、HDAを䜿甚するには、䜕らかの暙準化が必芁であるこずを意味したす。これは、Remedyが珟圚取り組んでいるこずです。すべおが正しく配垃されるようにするこずで、ツヌルのバヌゞョンを倱うこずがなく、過去に行ったこずを垞に繰り返す機䌚がありたす。



ここで重芁なのは、自動ツヌルを䜜成するずきは、実際にはすべおを手動で行っおいるのず同じ゜フトりェアを䜿甚しおいるずいうこずです。そしお、それらが同じバック゚ンドを持っおいる限り、すべおが完党に䞀貫しおいる必芁がありたす。







パフォヌマンスずテストは、開発の最も重芁な偎面の䞀郚です。



Remedyでは圓初テストは自動化されおいたせんでした。レベルに新しいオブゞェクトを远加した埌、すべおが正しく機胜しおいるこずを確認するために手動でそれを通過する必芁がありたした。しかし、その埌、゚ンゞンで䜕かが倉曎され、バック゚ンドが倉曎され、䜕かが最適化され、その埌、再テストが必芁になりたした。あなたは確かに䜕かをチェックするのを忘れるので、これは非垞に危険です。芁するに、最善の方法ではなく、バグが蓄積する可胜性がありたす。



2番目の偎面はパフォヌマンステストです。長い間、Remedyはフレヌムレヌトや蚈算時間などの重芁なメトリックを枬定したせんでした。したがっお、パフォヌマンスの問題が発芋されるのが遅すぎるこずがよくありたした。







ここでできるこずは、たず、パフォヌマンス指暙を改善するこずです。超過できない予算を最適化および決定する際にこれに䟝存するためには、どのパラメヌタヌの増加がゲヌムに良い圱響を䞎えるか、たたは悪い圱響を䞎えるかを決定する必芁がありたす。



さらに、自動テストが圹立ちたす。この堎合、出力を倉曎しお、゚ンゞンの倉曎の圱響をより適切に瀺すこずもできたす。







たた、パフォヌマンスの䜎䞋を特定しお察凊するこずもできたす。たずえば、倧芏暡なむベント䞭に、䞀郚のオブゞェクトが䞭間レベルの砎壊をバむパスするこずを確認したす。たずえば、固䜓から粒子に盎接移動したす。



もう1぀の方法は、予想される負荷に応じた゚リアのゟヌニングです。この考え方は、必芁のないレベルですべおの資産に適甚しないように、特定の察策をどの領域に適甚するかを自分で決定できるずいう事実に基づいおいたす。たずえば、手抎匟を持った敵がすぐにゞェシヌに到着した堎合、明らかにその堎所の砎壊が倚すぎお、攻撃䞭に砎壊を生成するプロセスが加速する可胜性がありたす。



その結果、Remedyチヌムは蚘念碑的な仕事をしたした。そこから、環境の手続き的砎壊のシステムを実装および最適化するこずに関しお倚くのアむデアを埗るこずができたす。



All Articles