首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ARCamera获取相机平移

从ARCamera获取相机平移
EN

Stack Overflow用户
提问于 2017-06-30 04:52:37
回答 3查看 1.5K关注 0票数 5

我正在试用苹果的ARKit,有一个关于相机转换的问题。转换矩阵中的哪些值表示用户从原点走了多远?呼叫

代码语言:javascript
复制
self.sceneView.session.currentFrame!.camera.transform.columns.0.x 

似乎不会产生正确的X翻译。

此外,YZ的正确位置是什么

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-06-30 13:39:24

4x4转换矩阵的最后一列--本例中为matrix.columns.3 --是平移向量。有关4x4变换矩阵及其工作原理的一些背景信息,请参见this old answer

票数 6
EN

Stack Overflow用户

发布于 2018-09-01 18:35:34

获取ARCamera翻译的最简单方法如下:

代码语言:javascript
复制
func getCameraTransform(for sceneView: ARSCNView) -> MDLTransform {
    guard let transform = sceneView.session.currentFrame?.camera.transform else { return }
    return MDLTransform(matrix: transform)
}

let position = SCNVector3(cameraTransform.translation.x, 
                          cameraTransform.translation.y, 
                          cameraTransform.translation.z)
票数 1
EN

Stack Overflow用户

发布于 2019-02-18 17:20:15

代码语言:javascript
复制
func session(_ session: ARSession, didUpdate frame: ARFrame)
 {
     // Do something with the new transform
     let currentTransform = frame.camera.transform
     let x = currentTransform.columns.3.x
     let y = currentTransform.columns.3.y
     let z= currentTransform.columns.3.z
 }

向量的最后一列是平移值。您可以从第3列获取翻译值

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

https://stackoverflow.com/questions/44834807

复制
相关文章

相似问题

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