在 Ogre3d 中,我想设置方向,为相机视图提供一个“法线”向量(作为指向我眼睛前方的箭头)和一个旋转相机的角度(比如倾斜我的头)。我可以用这个技巧让它工作:
float angle = 10; /* tilt my head 10 degrees to right */
Vector3 vector(0, 0, 1); /* z axis pointing forward */
Vector3 target = camera->getPosition() + vector;
camera->lookAt(target);
camera->roll(Degree(angle));
我不确定这是否适用于每个价值,而且看起来很老套。我正在寻找更正确的东西,比如使用四元数和Ogre::Camera::setOrientation()
.
此示例不起作用:
Quaternion orientation(Degree(angle), vector);
camera->setOrientation(orientation);
因为相机旋转angle
了vector
。