2009-07-09 5 views
2

私は単純な3Dプラットフォームのゲームを作ろうとしています。私が抱えている問題は、衝突の検出と応答です。私は現在、球体で私の選手キャラクター(壁と床の衝突のため)を表しています。3Dプラットフォームゲームでのプレイヤーキャラクターの良好な衝突表現?

私は、移動のために矢印キーを使用して単純な重力と指向力を使用します。

私の問題は、私が(崖のような)縁に来るときに発生します。私はボールのようにエッジの上を滑りますが、私が探している振る舞いは、直立したシリンダーのように端から落ちることです。ブーリアン「私はプラットホームにいる、あるいはプラットホームにはいない」、そして「私は徐々に端から滑り落ちている」ではない。

直立筒を使用する際の問題は、自動的に階段を上げることが不可能になり、任意の種類の斜面を歩いているときに、シリンダが片側の縁に触れるか、または斜面に部分的に埋め込まなければならないことです。

3次元プラットフォームゲームでのプレイヤーキャラクターの良好な衝突表現とは何ですか?

答えて

1

あなたは衝突検出のために球体を保持することができます。

衝突が見つかった場合は、キャラクターを複数のコンポーネントに分割して衝突をより正確に計算する必要があります。

頭、胴、脚と腕のシリンダー(手と足の球を追加することもできます)の球を使用するのが一般的です(衝突が計算しやすいため)。

this bookを読む可能性はありますか?

1

楕円楕円体を試してください。垂直軸に沿って球を伸ばすだけです。

0

あなたの理想的な解決策は丸みを帯びた直立した円筒形のようです。それはまっすぐなエッジの上にまだ先端がありますが、丸いエッジは階段を上に滑らせることができます。あなたは、あなたが望む効果を得るために、丸め半径で遊ぶ必要があるかもしれません。