objective-c - 如何获取 SCNNode 相对于设备引用的坐标?

标签 objective-c swift scenekit augmented-reality arkit

我想知道如何获取 SCNNode 相对于设备引用(而不是相对于世界引用)的坐标?

谢谢!

最佳答案

一个选项可能是获取 ARCamera 节点的位置。您可以通过循环遍历所有子节点直到找到 ARCamera 来完成此操作(或者可能使用 ARSCNView 的 pointOfView 方法,对此不确定)。

找到相机后,您可以将其存储到 SCNNode 类型变量中,然后您基本上需要获取两者之间的位置差异。你可以这样做:

SCNVector3Make(cameraNode.x - targetNode.x, 
               cameraNode.y - targetNode.y, 
               cameraNode.z - targetNode.z);

关于objective-c - 如何获取 SCNNode 相对于设备引用的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46474667/

相关文章:

c# - 从 C# 到 Objective-C 的构造函数代码

ios - Parse Analytics 自定义事件不会出现

ios - UITableView插入行装饰

swift - 如何调暗Scene Kit或ARkit中Camera渲染的 View 中的光线?

ios - 将 SceneKit 场景渲染到视频输出

ios - 手势识别器和 SceneKit

ios - 通过php将图像从UIImagePicker上传到服务器

objective-c - 错误:在应用程序启动结束时,应用程序应具有 Root View Controller

ios - 以编程方式截图并在 Swift 中模糊

ios - UIButton 标题问题