ARKit - ARCamera的位置

Ala*_*ier 6 3d camera augmented-reality scenekit arkit

我正在尝试使用ARKit,我的问题非常简单.我怎样才能获得相机的位置?

我知道,如果我把一个SCNNode在(0,0,0)和我ARCamera正在地上例如,我将不得不抬头看3D对象.这意味着必须以某种方式获得设备相机的位置和方向.

所以,我怎么知道where the camera is和where she is looking to?

提前致谢.

jls*_*ert 12

您可以使用该ARCamera.transform属性来获取相机的当前变换.以下代码来自2017年WWDC上的ARKit简介,您可能希望将其作为介绍.我们正在使用变换将一个节点放置在摄像机前10厘米处.

在Swift中:

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)
Run Code Online (Sandbox Code Playgroud)

在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)
Run Code Online (Sandbox Code Playgroud)