我正在嘗試使用ARKit,我的問題很簡單。 如何獲取相機的位置?ARKit - 相機的位置?
我知道,如果我把一個SCNode放在(0,0,0)上,而我的相機正在尋找地面,我將不得不擡頭看3D對象。這意味着設備的相機的位置和方向必須可以訪問。
那麼我怎麼知道哪裏的相機是和她看着?
感謝提前:)
我正在嘗試使用ARKit,我的問題很簡單。 如何獲取相機的位置?ARKit - 相機的位置?
我知道,如果我把一個SCNode放在(0,0,0)上,而我的相機正在尋找地面,我將不得不擡頭看3D對象。這意味着設備的相機的位置和方向必須可以訪問。
那麼我怎麼知道哪裏的相機是和她看着?
感謝提前:)
可以使用ARCamera.transform
屬性,讓您的相機的當前變換。 以下代碼來自Introducing ARKit at WWDC 2017,您可能想要將其作爲介紹來觀看。 我們正在使用轉換在攝像機前放置一個10釐米的節點。
在夫特:
var translation = matrix_identity_float4x4
translation.columns.3.z = -0.1 // Translate 10 cm in front of the camera
node.simdTransform = matrix_multiply(currentFrame.camera.transform, translation)
在Objective-C
matrix_float4x4 translation = matrix_identity_float4x4;
translation.columns[3][2] = -0.1; // Translate 10 cm in front of the camera
node.simdTransform = matrix_multiply(currentFrame.camera.transform, translation)
這就是我所說的真正的英雄!非常感謝 ! 如果我想偏移x和y座標,它也在第3列? –
你應該閱讀和學習一些基本的3D圖形和[轉換矩陣](https://en.wikipedia.org/wiki/Transformation_matrix#Examples_in_3D_computer_graphics) – orangenkopf
你可以在Objective c中複製嗎? –
的可能的複製[ARKit - 獲取場景 '相機' 的當前位置(https://stackoverflow.com/questions/45084187/arkit-get-current-position-of-camera-in-scene) – orangenkopf
這部分回答了我的問題。我明白相機轉換是什麼,但我不知道如何使用它來改變我的SCNode的座標。 你能向我解釋一下嗎? :) –