首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ARKit - ARCamera的位置

ARKit - ARCamera的位置
EN

Stack Overflow用户
提问于 2017-07-15 16:59:03
回答 2查看 7.8K关注 0票数 7

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

我知道,如果我在上面放了一个SCNNode (000),而我的ARCamera正在看地面,我将不得不抬头看这个3D物体。这意味着,在某种程度上,设备的摄像机的位置和方向必须是可访问的。

那我怎么知道where the camera iswhere she is looking to

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-16 11:11:30

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

在Swift:

代码语言:javascript
复制
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

代码语言:javascript
复制
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)
票数 13
EN

Stack Overflow用户

发布于 2019-04-08 20:09:37

或者,您可以同时对XYZ轴使用以下方法:

代码语言:javascript
复制
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

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45120681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档