因此,相机使用俯仰、偏航、滚动和在各个轴上的一些 90 度旋转来旋转。我要找的是整个变换后相机的滚动值。rotationZ 属性返回的不是我要找的东西,因为它看起来像相机首先倾斜,所以有时尽管相机向下矢量指向下方,但值是 180 度。
我很乐意提供更多信息,因为我被困住了:/
因此,相机使用俯仰、偏航、滚动和在各个轴上的一些 90 度旋转来旋转。我要找的是整个变换后相机的滚动值。rotationZ 属性返回的不是我要找的东西,因为它看起来像相机首先倾斜,所以有时尽管相机向下矢量指向下方,但值是 180 度。
我很乐意提供更多信息,因为我被困住了:/
这就是我想出的。它甚至离完美还差得很远,因为它只提供平均滚动,但对于我的项目而言,这已经足够了。
var rotation:Number = 0;
var mtx:Matrix3D = _targetCamera.transform.clone();
_cameraRotationObject.transform = mtx;
while (1 == 1)
{
var lastY:Number = _cameraRotationObject.rightVector.y;
rotation += 10;
mtx.appendRotation(-10, _cameraRotationObject.forwardVector, _cameraRotationObject.position);
_cameraRotationObject.transform = mtx;
if (lastY > 0 && _cameraRotationObject.rightVector.y <= 0) break;
lastY = _cameraRotationObject.rightVector.y;
}