カーブする平面を持つ2.5Dプラットフォーマーの物理


9

XNAで2.5Dプラットフォーマーを作成しています。これは、(Trineのように)2D平面に沿った移動に制限された3Dモデルを使用しています。

ただし、物事をより巧妙にするために、2D平面自体が湾曲できるようにしたいと考えています。このクロノアのリプレイを考えてみてください(10秒間だけ見る必要があります):プレーヤーは2D平面上にありましたが、平面自体が山の側面を包み込み、プレーヤーが3D空間を効率的に移動できるようにしました-その間、プラットフォーマーの通常の2D平面に拘束されます。

このようなゲームでは、物理学にどのように取り組むべきですか?

  • 2D物理エンジンまたは3D物理エンジンを使用する必要がありますか?
  • この状況を考慮して実際に設計された物理エンジンはありますか?
  • これのために設計されていないものについて:物理エンジンを私と連携させるために必要なハックやトリックは何ですか?

2
「曲線」は純粋に視覚的なものであり、物理的には2Dのように見えます。唯一のトリックは、それをGFX空間に変換するか、物理空間に変換することです。
deceleratedcaviar

回答:


9

このようなプラットフォーマーは、本質的には2Dプラットフォーマーです。2.5D効果は、山の周りのカーリングでさえ、2Dで制約された世界の視覚化にすぎません。物理エンジンはおそらくこの世界でのみ動作し、視覚化では動作しないため、2D物理エンジンで十分です。

とはいえ、いくつかの3D効果に興味があるかもしれません。ゲーム「Bionic Commando:Re-armed」では、倒された敵キャラクターがプラットフォームから「ロール」し、ラグドールの物理を実際に3Dにします。さらに、ほとんどの3D物理エンジンでは、1つ以上の軸に沿った動きを制限できます(ただし、道路と動くキャラクターの間にジョイントを作成するなどの微調整はあります)。

すべての3D効果に本格的な物理エンジンが必要なわけではないことを覚えておいてください。完全な3Dエンジンに頼らなくても、爆発後に破片が落ちるなど、マイナーなもののために独自の3D実装をコーディングできます。

3次元での物理計算がおそらく必要ない場合は、2Dエンジンから始めることをお勧めします。それ以外の場合は、3Dエンジンを選択して、関連する2つの軸のみで計算を制限します。


2

物理がフラットプレイヤースペースの外で発生するかどうかによって異なります。

ghostonlineが言ったように、残骸とラグドールのアニメーションは、2.5Dゲームの2D物理外の古典的な例です。

もう1つの例は弾丸です。ゲーム内に発射物がある場合、それらは2D空間の曲率に追従しますか、それとも境界を離れるとしても、直進しますか?

また、物理的な2D空間を湾曲した3Dビジュアライゼーションに正しくマッピングすることは(間違っている場合は修正してください)..それほど簡単ではありません。おそらく多くのスプラインまたは類似のものを含む単射投影関数が必要になります。

湾曲した2Dゲームスペースがあることは優れたアドオンですが、コードにはかなりのオーバーヘッドが必要です。それがTrineにそのようなものが存在しない理由かもしれません。とにかくゲームは面白かったですよね。私はそのような機能について二度考えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.