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的坐标 的相关文章

  • iOS后台获取时间限制崩溃

    我已经设置了背景获取 使用大纲NSScreencast 第 92 集 http nsscreencast com episodes 92 background fetch BOOL application UIApplication app
  • Flutter-iOS 当应用程序更新/重新编译时存储的图像丢失

    嗨 请原谅我的英语 也是 flutter iOS 的新手 我在 iOS 上有一个关于 flutter 的应用程序 用户可以从他们的相机和图库中拍摄照片和视频 我正在使用 image picker 包 这没有问题 然后我将其保存在在其应用程序
  • UICollectionView 设置列数

    我刚刚开始学习 UICollectionViews 我想知道是否有人知道如何指定集合视图中的列数 默认设置为 3 iPhone 肖像 我查看了文档 似乎找不到简洁的答案 对于 Swift 5 和 iOS 12 3 您可以使用4 以下实现为了
  • supportedInterfaceOrientations 方法不会重写其超类中的任何方法

    在 UIViewController 中 这段代码 public override func supportedInterfaceOrientations gt UIInterfaceOrientationMask if let mainC
  • iOS FacebookSDK + 解析 SDK + GoogleMaps SDK

    我搜索了很多 然后我意识到 ObjC标记那个GoogleMapSDK需要 但不能很好地配合ParseSDK and FacebookSDK 所以我阅读了所有的 stackoverflow 答案并尝试解决我的问题 问题还没有解决 我执行的步骤
  • 如何将 NSMutableArray 添加到 NSMutableArray Objective-c

    我正在从 Java 切换到 Objective c 但遇到了一些困难 我已经搜索过这个问题但没有取得太大成功 我有一个存储 NSMutableArrays 的 NSMutableArray 如何向数组添加数组 您可以在数组中存储对另一个数组
  • Swift:Tableview 在导航栏下方滚动但在状态栏上方滚动?

    我使用以下技巧隐藏了导航栏的阴影 self navigationController navigationBar setBackgroundImage UIImage for default self navigationControlle
  • Swift Siesta 访问响应原始数据

    我的 API 中有一个返回 PDF 文件内容的方法 如何在成功回调中获取响应的原始数据 所有午睡响应均以原始数据开始 以基础类型的形式Data 然后运行变压器管道 http bustoutsolutions github io siesta
  • 如何使用逗号和行分隔符对字符串进行标记

    我正在 Swift 中制作一个简单的 String Tokenizer 就像在 Java 中一样 但这对我来说确实不起作用 我的数据源中每行的末尾用 分隔 数据用逗号分隔 例如 字符串 1 字符串 2 字符串 3 字符串 1 字符串 2 字
  • 在 macOS 上使用 Swift 3 从剪贴板读取

    我是 Swift 的初学者 我想弄清楚如何在 macOS Swift 3 上读取已复制到剪贴板的内容 我搜索了很多 但似乎找不到任何有效的东西 我从网上尝试过的一些事情 var pasteboardItems NSPasteboardIte
  • 在 Xcode 中查找未使用的文件

    我最近开始开发一个新应用程序 它基本上是我以前制作的应用程序的副本 但做了一些更改 为了制作这个新应用程序 我复制了旧应用程序并删除了一些不需要的内容 我想知道 有没有办法知道 Xcode 中正在使用哪些类文件 或者有什么关于如何查找未使用
  • 上下文菜单未在 SwiftUI 中更新

    我正在尝试设置 SwiftUI contextMenu带有一个切换按钮Bool价值 上下文菜单的按钮文本应该在以下情况下更改 Bool切换 但上下文菜单不会更新 有没有办法强制更新上下文菜单 描述问题的示例代码 import SwiftUI
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • iOS - 在相机上放置自定义叠加层(垂直对齐)。顶部黑条的大小

    我正在寻找以下问题的编程解决方案 我想在相机 iOS 上绘制自定义叠加层 我希望它位于相机输出视图的垂直中央 我已经完成了相对于屏幕而不是相机图片居中绘制自定义视图 为此 我需要获得顶部黑条的大小 我怎么才能得到它 顶部和底部栏的大小不相等
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • SDK 和 iOS 部署目标。

    我使用最新的 SDK 4 1 构建项目并设置 iOS 部署目标 3 0 如果我使用4 0 sdk的某些方法 我可以在真正的iPhone 3 0上运行我的项目吗 您只能在 OS 3 设备上运行您的项目 如果有条件地编码围绕您想要使用的 OS
  • 使用未声明的类型“对象”

    这太奇怪了 通常我可以理解未声明的类 但这是声称 Object 类本身未声明 NSObject 可以工作 但我的项目设置方式我需要它是一个纯 Swift 对象 我的类标题如下所示 import UIKit import Foundation
  • 自动生成的 Swift 桥接标头中“找不到接口声明”

    我当前的项目包含 Swift 和 Objective C 代码 两种类型的源文件都使用另一种语言的代码 当我进行完全清理并重新编译时 几乎每个 Swift 类声明都出现错误Module Swift h 形式为 Cannot find int
  • 从应用程序内发送电子邮件中的图像和文本

    如何从我的应用程序内通过电子邮件发送图像和文本 表格数据形式 请大家帮忙并提出建议 谢谢 void sendMailWithImage UIImage image if MFMailComposeViewController canSend
  • iOS 中是否需要 Google App Indexing SDK 才能使用 Google DeepLinking?

    我想用谷歌应用程序索引与我的网页和 iOS 应用程序 我支持通用链接 or 深层链接用谷歌术语 与苹果Search并相应地设置我的网页 From 谷歌文档 https developers google com app indexing i

随机推荐

  • 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