0

インターフェイスに 4 つの矢印があります。1 つの矢印は、上、下、左、右の 1 つの方向を指します。矢印を選択すると、プレイヤーコントローラーがそのポイントを向いている間、そのポイントを中心にその方向に回転するようになります。トランスフォーム、ベクトル、およびローテーター (ピッチ、ヨー、ロール) のロジックで、私はちょっと迷ってしまいました。誰かこの論理の問題で私を助けてくれませんか? 私は青写真で働いています。

4

1 に答える 1

0

非可換な方法で変換を混合しているため、必要なたびに計算を繰り返すことをお勧めします。

5 つのステージ、距離、2 つの角度が必要です。明確にするための写真:

ここに画像の説明を入力

  1. ポイントから離したい距離だけ、プレイヤーを +ve Z 方向に平行移動させます。
  2. -ve Z 方向 (0, 0, -1) を向くようにします。
  3. x軸を中心にθだけ回転させます(軸を見下ろしたときに時計回りに)-行列P
  4. z 軸を中心に ϕ だけ回転させます (同様に) - 行列 Q
  5. 原点からポイント (つまり、位置ベクトルとして表されるポイント) への変位によってそれを変換します - 行列 T

P と Q に必要な行列: https://en.wikipedia.org/wiki/Rotation_matrix#Basic_rotations

私はあなたが翻訳行列を知っていると仮定します:)

各角度を追跡し、矢印キーを押したときに角度を変更します。また、必要な最後の行列は TPQ (この順序で乗算) です。必要なたびに再計算してください。必要な処理能力について心配する必要はありません。

于 2015-07-01T22:32:48.507 に答える