2

シンプルな 3D プラットフォーム ゲームを作ろうとしています。私が抱えている問題は、衝突の検出と応答にあります。現在、プレイヤー キャラクター (壁と床の衝突) を球体で表現しています。

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

私の問題は、端(崖など)に来たときに発生します。私はボールのように端を滑りますが、私が求めている動作は、直立した円柱のように端から落ちることです。「私はプラットフォームにいる、またはプラットフォームにいない」というブール値であり、「徐々に端から滑り落ちています」ではありません。

直立したシリンダーを使用する際の問題は、自動的に階段を滑ることができなくなり、どんな種類の坂道を歩いている場合でも、シリンダーが 1 つのエッジだけに接触するか、斜面に部分的に埋め込まれている必要があることです。

3D プラットフォーム ゲームにおけるプレイヤー キャラクターの適切な衝突表現とは?

4

3 に答える 3

1

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

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

一般的な解決策の 1 つは、頭、体幹に球体を使用し (衝突の計算が簡単なため)、脚と腕に円柱を使用することです (手と足に球体を追加することもできます)。

この本を読む可能性はありますか?

于 2009-07-09T16:37:26.340 に答える
1

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

于 2009-07-09T16:17:23.963 に答える
0

あなたの理想的な解決策は、丸みを帯びたエッジを持つ直立したシリンダーになるようです。まっすぐなエッジではまだ転倒しますが、エッジが丸くなっているため、階段を滑り降りることができます。必要な効果を得るには、丸め半径をいじる必要がある場合があります。

于 2009-07-09T16:30:39.333 に答える