2016-03-31 26 views
3

我知道SceneKit中存在SCNLookAtConstraint。但是,這種方法並不是我正在尋找的。LookAt相機方法? NOT SCNLookAtConstraint

我需要的是能夠在任何給定時刻將攝像機指向空間中的某個點(而不是節點)。

在世界座標系中有一個X,Y,Z,我需要相機旋轉以便它指向這一點。

點數會隨着時間的推移而改變(意思是不同的點被傳遞給一個方法,我需要從一個方向跳到另一個方向)。

我寧願跳過計算eulerAngles,我已經看到的一些解決方案是基於分母中的三角函數和cos(角度)。通過拖動cameraNode,用戶基本上可以自由旋轉。

我在SceneKit中找不到任何方法?

回答

3

在我看來,使用節點作爲目標是最簡單的方法。如果您創建了一個空節點(沒有幾何圖形或相機或燈光),它將不可見,您將能夠使用該框架爲您提供的最高可用抽象。從點到點移動節點,使用動畫或突然跳轉。

+0

謝謝哈爾,這是爲我做的 –

3

GLKMatrix4方法可能在這裏是感興趣的,具體地是GLKMatrix4MakeLookAt

給定一個眼睛位置(相機),你想看的位置和一個向上的矢量,你將能夠創建一個變換矩陣(作爲GLKMatrix4)。 SceneKit功能SCNMatrix4FromGLKMatrix4會將其轉換爲SCNMatrix4,您可以將其設置爲相機節點的變換。

TBH,我可能會去哈爾的解決方案。