2016-05-15 19 views
3

因此,我的SceneKit項目中有一臺相機,可以自由旋轉和移動,並且我有一個對象,在某些情況下需要保留與相機保持恆定的距離,無論相機如何旋轉,始終處於相機的中心位置。不幸的是,我是SceneKit的新手,不知道如何實現這一點。停留在相機視圖中心的Scenekit對象(Swift)

所以我在尋找的關鍵事情是:

  1. 如何從相機中具有對象總是在相同的距離

  2. 如何讓對象始終處於中心相機的視圖無論它看着什麼方向

此刻,相機和對象(一個帶盒幾何的SCNNode)都是同一個sc烯。

我在swift中編寫代碼,所以我更喜歡使用它的答案,但是如果您在objective-c中有解決方案,那也可以。

非常感謝!

回答

2

想想如何在現實世界中解決這個問題。以合適的長度抓住兩乘四。使用膠帶將球連接到一端,並將照相機(瞄準球)連接到另一端。

現在,您可以隨身攜帶該鑽機。球始終位於攝像機視圖的中心,並且距離攝像機不遠。

您可以在SceneKit中虛擬構建相同的裝備。創建一個新的SCNNode作爲鑽井平臺(取代兩個四)。在(0,0,0)處將球作爲子節點添加。將相機也作爲子節點添加到(0,0,5)處(相機沿-Z軸向下看,因此此位置應將球置於視圖的中心)。現在,您可以將鑽臺節點移動到您想要的場景的任何位置,並且您將擁有一致的球位置。

+4

好的比喻。雖然我沒有在SCNNode上看到一個ductTape方法。也許提出一個錯誤? ;) – rickster

+0

難道你不想讓鑽機和球成爲相機的兒童,以便當相機旋轉時,鑽機也是如此? – jglasse

+0

製作相機的鑽石/球的孩子會有相同的效果,如果以這種方式建模對您更有意義,您應該這樣做。只要球和相機連接到同一節點,球的相對視圖就不會改變。 –

相關問題