我正在尝试使用ARKit,我的问题非常简单。我怎样才能得到相机的位置?
我知道,如果我在上面放了一个SCNNode (0,0,0),而我的ARCamera正在看地面,我将不得不抬头看这个3D物体。这意味着,在某种程度上,设备的摄像机的位置和方向必须是可访问的。
那我怎么知道where the camera is和where she is looking to
提前谢谢。
发布于 2017-07-16 11:11:30
您可以使用ARCamera.transform属性获取相机的当前转换。下面的代码来自ARKit在2017年WWDC上的介绍,您可能希望看到它作为介绍。我们使用变换将一个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)目标-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)发布于 2019-04-08 20:09:37
或者,您可以同时对X、Y和Z轴使用以下方法:
var translation = matrix_identity_float4x4
translation.columns.3 = simd_float4(0, 0.2, -0.5, 1) // x, y, z, HC
aNode.simdTransform = matrix_multiply(translation,
currentFrame.camera.transform)columns.3中的最后一个元素是齐次坐标,它等于1。
希望这能有所帮助。
https://stackoverflow.com/questions/45120681
复制相似问题