ARKit:查找屏幕上SCNNode的坐标

2024-01-02

我有一个简单的 Swift ARKit 设置,其中有一个 SCNNode 和一个在 ARSCNView 中可见的 3D 对象。

我想确定该对象在 ARSCNView 上的 2D 坐标。我的意思是对象被绘制到屏幕上时的 x 和 y 坐标。

I have provided a sketch to illustrate what I mean: Sketch

有没有办法获得这些坐标,或者至少是近似值?我需要这个来对相机框架进行一些进一步的处理。基本上我对物体在屏幕上占据的区域感兴趣。


您可以使用SCNSceneRenderer projectPoint:point https://developer.apple.com/documentation/scenekit/scnscenerenderer/1524089-projectpoint :

将点从场景的 3D 世界坐标系投影到渲染器的 2D 像素坐标系。

let node:SCNNode = // Your node
let nodeWorldPosition = node.position
let nodePositionOnScreen = renderer.projectPoint(nodeWorldPosition)
let x = nodePositionOnScreen.x
let y = nodePositionOnScreen.y

Note : 从近(或远)剪裁平面投影的点的 z 分量将为 0(或 1)。


可以使用相同的方法ARAnchor :

let anchor:ARAnchor = // ...
let anchorWorldPosition = SCNVector3(anchor.transform.columns.3)
let anchorPositionOnScreen = renderer.projectPoint(anchorWorldPosition)
let x = anchorPositionOnScreen.x
let y = anchorPositionOnScreen.y
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ARKit:查找屏幕上SCNNode的坐标 的相关文章

随机推荐

  • Spark 2.1.0中读取大文件时出现内存不足错误

    我想使用 Spark 将大型 51GB XML 文件 在外部 HDD 上 读取到数据帧中 使用Spark XML 插件 https github com databricks spark xml 进行简单的映射 过滤 重新排序 然后将其作为
  • 如果您想创建模块化应用程序,最好的资源是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在我对 Drupal Wordpress 和 Salesforce 等较新的 Web 平台 应用程序的
  • 三星 Galaxy S 上的图标背景?如何改变这个?

    我看到三星 Galaxy S 设备上的启动图标添加了背景 我需要将此背景更改为我们创建的自定义背景 我知道这可以改变 因为像 每日简报 这样的应用程序有自己的云状背景 使启动图标看起来非常丰富 如果有人知道如何更改此背景 请告诉我 看一下图
  • UICollectionView 顶部和侧面的浮动标题

    如何在 a 中实现标头UICollectionView 我知道您可以放入补充视图 但我不知道如何使它们 浮动 在部分上方 例如标题中的标题UITableView do 这是我的情况 我有一个collectionView单元格以网格格式布局
  • 如何在 Clojure 中编写 monoid 协议?

    由于显而易见的原因 以下内容不起作用 defprotocol Monoid mappend a b mzero mzero有零参数 并且协议中不允许 或没有意义 零参数方法 在 Haskell 或 Scala 中 调度是基于类型而不是基于值
  • 如何根据 ASP.NET MVC 中用户的选择对列表进行排序?

    我有一个客户列表 可以根据用户的选择按 1 到 6 个字段进行排序 排序字段可以按任何顺序 如果我提前知道字段和顺序 排序就很容易 customers customers OrderBy c gt c LastName ThenBy c g
  • 如何在 ASP.NET Core 中实现复选框列表?

    我希望在 ASP NET Core 中实现复选框列表 但面临一些困难 我的视图模型 public class GroupIndexViewModel public Filter Filters get set public class Fi
  • 导航栏无法通过 bootstrap5 在移动设备上扩展

    我正在使用 Bootstrap 5 制作一个网站 但我的导航栏不起作用 当我在移动设备上时 它不会扩展 import url https fonts googleapis com css2 family Poppins ital wght
  • 如何通过蓝牙使用 Android 应用程序连接到 Raspberry pi

    我无法使用应用程序通过蓝牙将智能手机连接到树莓派 我的情况 我正在开发一个基于树莓派的蓝牙可控应用程序 我可以通过蓝牙连接到树莓派 并使用应用程序 蓝牙终端 通过 RFCOMM 套接字发送和接收数据 树莓派不断监听 RFCOMM 连接 My
  • Android中如何获取电话号码?

    这是问题的延伸here https stackoverflow com questions 6329216 how to obtain mobile number of own device in android 现在我引用通用软件 htt
  • iPhone SDK-调试器错误:正在调试的程序未运行

    我按照 iPhone SDK 开发人员门户上的确切说明启动了第一页上的 Assistant 但即使我多次删除配置文件 证书并多次重复相同的过程 我仍然遇到相同的错误 请帮忙 如果您以前使用过它们 检查 NSDebugEnabled NSZo
  • 如何在 RDLC Microsoft Dynamic NAV 2013 报告中显示 Unicode 字符?

    我在 RDLC 报告中添加了一个文本框 并将其值设置为 unicode 字符 但当我运行报告时 我只得到了 符号 请帮我解决这个问题 我希望在报告中看到 unicode 字符 I had the same problem and found
  • Adobe AIR 有什么意义? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有点困惑 我不断看到有关 Adob e AIR 如何让您下载在桌面上运行的应用程序的文章 我们不是已经有了这个吗 这与任何 WinForms
  • 为现有 GitHub 存储库创建 CocoaPod

    最近我创建了一个小型 iOS 类 我想将它与 CocoaPods 一起使用 现在我已经将它添加到GitHub https github com cloverstudio CSGrowingTextView我已经关注了本教程 http nss
  • Eclipse 随机停止启动

    我最近经常使用Eclipse 并且没有遇到任何问题 昨晚 我的工作非常顺利 然而 今天早上 每当我加载它时 程序都会在加载初始屏幕的一半位置停止工作 在实际工作区打开之前 该信息显示 正在加载工作台 并且永远留在那里 当我多次单击它时 我收
  • pyqtgraph:缩放时保持 TextItem 的恒定位置

    我想要一个在缩放 y 轴时在图表上保持恒定位置的 TextItem 其功能与图例基本相同 只是作为 TextItem 我可以根据需要更改文本 我不知道该怎么做 欢迎任何建议 这个例子说明了问题 在左侧图表中 缩放 y 轴会导致文本移动 而在
  • Python3.5.2 bdist_wininst:需要Python版本-32,在注册表中找不到

    我在 Windows 7 上使用 Python 3 5 2 32 位创建的包出现问题 我通常使用以下命令在 Windows 上部署 Python 包bdist wininst设置工具的选项 这样 我的同事只需启动 Windows 安装程序
  • 连接两个 mp4 视频后视频中出现奇怪的“暂停”

    我正在连接两个 mp4 视频 问题是第一个视频 intro mp4 持续 5 秒 第二个视频 output mp4 持续 2 秒 连接它们创建的视频持续 9 秒 应该持续 5 2 7 秒 在 Final mp4 视频中 第一个视频 intr
  • 在 WooCommerce 中获取并显示相关产品

    我已将 WooCommerce 相关产品包含在主题中 内容如下 这已被复制到我的模板中并正在执行 然而 尽管我对该产品添加了各种追加销售 related products变量 在循环中使用 为 NULL 为了开始展示这些相关产品 是否还有其
  • ARKit:查找屏幕上SCNNode的坐标

    我有一个简单的 Swift ARKit 设置 其中有一个 SCNNode 和一个在 ARSCNView 中可见的 3D 对象 我想确定该对象在 ARSCNView 上的 2D 坐标 我的意思是对象被绘制到屏幕上时的 x 和 y 坐标 I h