物理演算

提供: Oss4art
移動: 案内検索

自然界にあるモノの物理的な振舞をシミュレートすること。

例えば、ボールが地面に衝突してバウンドするような運動は、空気抵抗などの摩擦力や重力、また地面との衝突におけるエネルギー保存則・運動量保存則など物理学上の様々な法則が働いている。こうした法則を忠実にコンピュータを用いてシミュレートすることで、いかにもそれらしい、自然な動きをコンピュータ上で再現することができる。こうした計算が物理演算である。

3DCG を駆使したリアルな画面表示が可能な昨今の CG アニメーションやゲームでは、画としてのリアルさだけではなく、その動きにもリアリティが求められる。そのため、落下や衝突などの振舞をより自然に表現するために、物理演算は欠かすことができない。しかし画面に表示されるすべてのオブジェクトの物理的な挙動をすべて計算で求めようとすると複雑で膨大な計算が必要となる。そのため、物理演算専用のハードウェアを使ったり、GPU を物理演算のために利用するなど、様々な形で演算を高速化する工夫がなされている。

また、物理演算ライブラリに含まれる衝突判定ルーチンは、普通のゲームにおいてもその衝突判定に便利に使えるため、特に自然なシミュレーションが必要でない場合でも物理演算を使用する例も見られる。

リアルとリアリティ

物理演算は物理法則をそのまま再現することを目標としている。これはリアルな挙動を再現する上では重宝するのだが、ゲームなどではかえってそのリアル指向が邪魔になる場合がある。例えば車の挙動を現実に忠実に再現すると、ゲームコントローラでは操縦しきれないくらいに操作が難しくなってしまう。また、巨大メカが重量のあまり歩けなくなったり大きな剣を振り回すとバランスが崩れてしまうなど、現実には不可能なフィクション独特の設定が、ゲームの仮想世界内でも不可能になってしまうという不都合を抱えてしまう。そこで、「リアル」ではないが「リアリティ」は確保したフィクションを可能とする、「非現実的物理演算」をうまく実現することが重要となることは留意されたい。

関連