カメラからポイントしたいオブジェクトを指すベクトルがあるので、そのベクトルを指すようにカメラを回転させるクォータニオンを作成します。だから私はこれを行います(glmを使用して)
glm::quat rotation=glm::angleAxis(0.0f,vector);
たとえば、(0.0f、0.0f、-1.0f)のベクトルの場合にその機能が正しく理解されている場合、カメラはロールなしで深度軸の前方を向いている必要があります。しかし、理由はわかりません。その場合、次のクォータニオンが作成されます。x:-0 y:-0 z:-0 w:1何も実行せず、x、y、zの値は角度が0の場合にのみ異なります。 angleAxis()に渡されるパラメーターが0とは異なります。なぜこれが発生するのですか?角度0を通過した場合、ヨーとピッチのみでロールなしの回転を作成するだけではいけませんか?