4
在Ogre3d中,我想設置方向,爲相機視圖(如箭頭指向我的眼睛)和旋轉相機的角度(如傾斜我的頭部)給出一個「正常」的矢量。 我能得到它與這一招工作:Ogre相機的方向給定矢量和角度
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
旋轉。
注意,角弧度,自罪()和cos()函數接受我的情況弧度。調整以適應您的需求。 – meyumer
我已經嘗試了從角度和軸的四元數(Ogre :: Quaternion爲此提供了一個構造函數),問題是[Ogre :: Camera :: setOrientation](http://www.ogre3d.org/docs/api/ html/classOgre_1_1Camera.html#ab6b87536a32e04638eb73f70034e811d):它不會像我想要的那樣使用傳遞的四元數。 –
+1我一直在尋找這個! – nurettin