0

マリオカートのようなゲームの開発者がレベルの向きをどのように切り替えているのか疑問に思っています. OpenGLでこれを行う簡単な方法はありますか? ご存じない方のために説明すると、レベルを「ミラー」モードでプレイすると、通常は左側にあるドアが右側になります。

ここに小さな例があります

これらの 4 つの頂点を持つポリゴン

X      Y


Z      W

だろう

Y      X


W      Z
4

1 に答える 1

3

これらの 4 つの頂点を持つポリゴン

あなたはそれを必要としません。

  1. ミラー変換行列を設定します。ミラー マトリックスは、負の値でスケーリングするマトリックスです。glScalef(-1.0f, 1.0f, 1.0f)、たとえば x 軸ミラーです。
  2. glFrontFaceで呼び出しGL_CWます。つまり、前面を「反対」の値に変更します。
  3. シーンをレンダリングします。

3.0 シェーダーでも同じ原則を使用できます。ビルドに別のものを使用する必要がある場合でも同様です。

-1 0 0 0 
 0 1 0 0
 0 0 1 0
 0 0 0 1

スケール マトリックス

ただし、ビデオ ゲームの場合は、その場で反転するのではなく、マップ全体をレベル エディターで反転して新しいレベルとして保存する方が簡単な場合があります (衝突検出)。

于 2012-02-04T02:23:02.163 に答える