今年、弊社の国産ゲーム「Black Myth: Wukong」が複数の国際ゲーム賞を受賞しました。最近、ゲームがアップデートされ、多くの人が再び Black Myth をダウンロードして 81 の難易度を体験することに興奮しています。 しかし、ゲームをプレイしていると、どうしても興味が湧いてくる人もいるでしょう。水の波紋や雪の動きの跡など、ゲーム内の物理的なプロセスは非常にリアルです。これらはどのようにして実現されているのですか?なぜこのような興味深い現象が起こるのでしょうか?これらの現象は物理学そのものにどのような洞察をもたらすのでしょうか?ゲーム内の物理的な世界を見てみましょう。 衝突検出、仮想「ハードオブジェクト」 古典的な物理世界では、最も一般的な出来事は衝突です。したがって、ゲームを十分にリアルにしたい場合は、衝突を最初に考慮する必要があるプロセスにする必要があります。 まず、古典世界の衝突がどのように起こるかを見てみましょう。 F は物体にかかる正味の力、m は物体の質量、a は加速度です。各瞬間に物体に作用する合力とトルクを計算することで、現実世界の物体の物理的状態を得ることができます。同様に、ゲームの世界に戻ると、物理エンジンはこのメソッドを使用して速度と位置を更新できます。 Unity 3D での衝突シミュレーション コンピュータでは、これは通常、オイラー法、ルンゲ・クッタ法、またはより安定した高度な半暗黙的積分器などの数値積分法を使用して実行されます。ゲームでは通常、計算効率と安定性が優先され、フレームの更新ごとにほぼ正確なオブジェクトの位置と状態が迅速に取得できるようになります。 しかし、誰もが知っているように、現実世界は古典的には連続的ですが、ゲーム世界のシミュレーションでは、各オブジェクトの状態に応じてフレームごとに各オブジェクトの位置を更新する必要があります。物理シミュレーションに使用されるフレーム レートが高ければ高いほど、計算結果は確実に正確になります。 たとえば、2 つのボールの衝突を計算します。衝突が発生すると、2 つのボールの速度、方向、材質、衝突の深さに基づいて衝突の結果を計算し、同時に 2 つのボールの状態を更新します。しかし、現実の世界では、2 つの剛体は「重なり合う」ことはありません。実際の衝突は、2 つのボールが互いに接触したとき、または接触から変形、そして衝突の終了までの全プロセスで発生します。 ゲーム内での重複衝突の例 ただし、物理エンジンはフレームごとに位置を更新し、衝突の結果を計算するため、衝突の時間が特定のフレームに正確になることを保証することはできません。また、2 つのボールが接触してから分離するまでのプロセスにおけるすべての微妙な変化を真に完全にシミュレートすることもできません。 2 つのフレーム間の衝突情報は実際には失われ、時には非常に直感に反すると思われる、より複雑な衝突が多数発生します。 現在、多くの成熟したゲーム エンジンでは、ゲームの計算されたフレーム レートを実際のフレーム レートから分離することで、この問題を回避しています。しかし、衝突に影響を与える要素はフレーム レートだけではありません。 ゲームプロセスにおける実際のモデリングは、美観のために非常に複雑です。一般的に言えば、モデルには何千もの三角形があります。ただし、物理エンジンがこれらのプリミティブ モデルの衝突を計算するために必要な計算量は指数関数的に増加します。また、モデリング角度が奇妙であるため、衝突計算の結果は現実とは大きく異なります。したがって、オブジェクトの物理的な形状を単純化する必要があります。これは、ゲーム内で衝突ボリュームと呼ばれることが多いものです。 さらに、衝突時には、材質、摩擦、空気抵抗、押し出しなど、さまざまな問題を考慮する必要があります。 制約: 制限された自由 剛体の衝突だけでなく、多くのパーツの接続と回転はゲームでは当然不可欠であり、ここで制約という物理的な概念が役に立ちます。たとえば、ゲーム内の小さなキャラクターが物体をつかもうとする場合、それは手と物体の間の接触面に制約を作成することと同じです。 物理エンジンでは、制約を使用して、オブジェクトの動きの範囲と相対的な位置を制限します。キャラクター、ロボットアーム、車輪などのスケルトンアニメーションなど、ゲームやシミュレーションで幅広い用途があります。シミュレーションプロセス中に制約が適切に行われないと、非常に奇妙なゲーム画像が得られる可能性があります。 古典力学では、制約とは、システム内のオブジェクト間またはオブジェクト間の関係を記述する条件です。制約力学は、多体系における運動の制約を考慮する方法を研究する科学の分野です。自由度に応じて、物体間の相対的な動きにはさまざまな種類の制限が課せられます。 物理エンジンでは、制約は通常、数式で記述され、古典力学のラグランジュ力学とニュートン力学に基づいて解決されます。 オブジェクト間の相対的な動きは、オブジェクトに課せられた制約によって決まります。これらの制約により、オブジェクトは合意された動作軌道に従うようになり、物理法則に従わない動きをすることが防止されます。具体的には、拘束力は物体の加速度を変更することで物体の自由度を制限し、物体の動きが拘束条件に違反しないようにします。 キャラクターのジョイントは、ヒンジ ジョイントと呼ばれる拘束の一種で、2 つのボディが 1 つの軸を中心に回転しながら、他の自由度を制限できるようにします。その物理的原理は、慣性モーメントと角運動量保存則にまで遡ることができます。 実際のゲームでは、制約には計算上の制限の問題もあり、計算量を簡素化する必要があるため、ゲームには通常、次のような一般的な制約が事前に設定されています。 PhysX ジョイントの例 布と流体のシミュレーション: 物体の変形と流れ ゲームでは、ソフトボディ、布、流体のシミュレーションを使用して、オブジェクトの変形や流れの動作を表現します。これらの動作は古典物理学の法則に従うだけでなく、その実装を実現するために数値計算方法にも依存します。これらのシミュレーションを通じて、ゲームは、キャラクターが水中を走ることで生じる波紋や、武器を振るったときに近くの草や木が揺れる様子など、より繊細でリアルな物理的効果を表示できるようになります。 柔軟な物体とは、外力の作用によって変形する物体です。剛体と比較すると、完全に変形不可能ではなくなります。ソフトボディシミュレーションの主な目的は、力が加わったときのオブジェクトの変形動作を正確に記述することです。 柔軟な物体の変形は、物理学における応力と歪みと密接に関係しています。応力は、外力の作用下にある物体の内部力の分布を表し、通常は応力テンソルで表されます。ひずみは、外力による物体の形状または体積の変化を表します。 応力とひずみの関係: 弾性体は応力を受けると線形または非線形のひずみを受けます。最も一般的に使用されるモデルはフックの法則であり、これは小さな変形下での材料の線形弾性挙動を記述します。 質量モデルの概略図 パーティクル モデルは、単純なソフト ボディを計算するために最も一般的に使用される方法の 1 つです。このモデルでは、物体は複数の質点に分割され、各質点がスプリングによって相互に接続され、材料の弾性挙動をシミュレートします。各粒子の運動方程式はニュートンの運動の第2法則によって与えられます。 弾丸エンジンが布のエフェクトを表示 より複雑な物体の変形には、有限要素法を使用できます。オブジェクトを多数の小さな単位 (三角形や四面体など) に分割し、各単位の応力と歪みを解析することで、オブジェクトの全体的な動作をシミュレートします。この方法は、より微細なオブジェクトの変形をシミュレートするためによく使用され、非線形性や大きな変形を処理できます。 流体シミュレーションは、特にリアリズムの面で、物理エンジンにおける最も困難なタスクの 1 つです。流体の挙動は連続体力学、特に流体力学と熱力学に大きく影響されます。 流体の運動は、粘性流体の流れを記述する基本方程式であるナビエ・ストークス方程式に従います。 方程式の左側は慣性項であり、流体の運動量の変化を表します。右辺の最初の項は圧力項であり、圧力勾配によって発生する力を表し、流体は高圧領域から低圧領域へ流れます。 2 番目の項は粘性項であり、流体内の摩擦 (粘性) 効果を表し、流体の速度場の勾配に関連しています。 3 番目の項は体積粘度項であり、流体の体積粘度を考慮します。最後の項は外力です。 すると、体積粘性項は無視できます。ゲームでは、粘性項を無視して 2 次元の場合のみを考慮することもできます。これにより、非常に単純化された方程式のセットが得られ、計算量が大幅に削減されます。 ただし、結果として得られる流体シミュレーションは比較的単純です。たとえば、ゲーム内では水面の波紋を長距離にわたって見ることは困難であり、これは流体の変動の長波長部分を無視することと同じです。 ブラック・ミスの戦闘中の水面の波紋 ゲームにおけるシミュレーションと科学研究におけるシミュレーションの違い ゲーム開発でも科学研究でも、オブジェクトの動きと相互作用をシミュレートする必要があります。しかし、ゲームにおける剛体シミュレーションと科学研究における剛体シミュレーションは、目標、精度、計算方法、制約、解決戦略の点で明らかに異なります。 ゲーム内のシミュレーションは、主にリアルタイムのインタラクションと視覚的なリアリズムに重点を置いています。ゲーム内のオブジェクトはニュートン力学の原理に従って動きますが、ユーザーエクスペリエンスの向上と計算速度の向上を実現するために、シミュレーションの精度と詳細は簡略化されることが多いです。シミュレーション結果は、正確な物理予測よりも、プレイヤーの没入感を高めるために使用されます。 科学研究における剛体シミュレーションの目的は通常、正確なモデリングとパフォーマンス評価であり、物体の機械的動作の分析、設計の最適化、または実験検証に使用されます。シミュレーションの目的は、実際のアプリケーション、理論的研究、または物理現象の検証に信頼できる結果を提供することです。 ゲーム内の物理学についてより深く理解しているのだろうか。こちらはBlack Mythのゲーム画面です。そこには、どれほど多くの物理シミュレーション プロセスが含まれているか想像できます。 参考文献 [1] エバリー、D.(2003)。 「ゲーム物理学」モーガン・カウフマン[2]ウィトキン、A.&バラフ、D.(2001)。 「物理ベースモデリング:原則と実践」 SIGGRAPHコースノート[3] https://www.zhihu.com/question/277300055[4] https://developer.aliyun.com/article/432351 [5] https://zhuanlan.zhihu.com/p/679061686 企画・制作 出典: 中国科学院物理研究所 (ID: cas-iop) 編集者:鍾延平 校正:徐来林 |
<<: CMI: LinkedInのマーケティングコンテンツに対する反応率は63%
>>: 緑の顔をした獣はどんな「獣」で、赤い髪の幽霊はどんな「幽霊」なのでしょうか?
現代では、多くの人が毎日肉を食べなければなりません。肉がなければ、まったくよく食べることができません...
生活の中には、さまざまな食べ物があります。食べ物を気軽に選ぶことはできません。自分に合った食べ物を選...
太陽が笑っているのを見たことがありますか?では、太陽が笑っている実際の写真を見てみましょう。これは2...
現代生活では、誰もが黒豆発酵食品について非常によく理解していると思います。黒豆発酵食品は誰もがよく知...
便秘は今や一般的な病気になっています。便秘に悩む人は大変な苦痛を感じていると考えられます。食べたもの...
チョコレートはどのように作られるのでしょうか?チョコレートは女の子や子供たちの大好物です。チョコレー...
周知のとおり、私たちが生存するために依存している地球は、太陽系の中で非常に特別な惑星です。青い惑星と...
大豆は私たちの生活の中で頻繁に目にするので、大豆粉も誰にとっても馴染みのあるものです。大豆粉は大豆か...
果物にはさまざまな種類があり、ブドウもそのひとつです。野菜でも果物でも、一定の栄養価がある食品であれ...
カシューナッツを炒める方法はたくさんあります。カシューナッツを使って多くの料理を作ることができます。...
おそらく、イナゴマメ蜂蜜についてはあまり知らないでしょう。なぜなら、私たちが生活の中で頻繁に接触する...
パソコンの前でMeizu MX4の新製品発表会を見た後、5分ほど静かに考えていました。これまでのMe...
今朝、待望のApple WWDC2015が正式に開催されました。このカンファレンスにおける Appl...
中国自動車ディーラー協会が主催し、メーカー中古車支部が主催する2020年メーカー中古車支部年次総会お...
「無限の可能性を秘めた中国市場を見逃さないでください。」これは、製品を宣伝する際の世界的なテクノロジ...