将 ARCamera 旋转变换应用于节点 (ARKit)

2023-12-08

我想将 ARCamera 的旋转应用于 3D 节点,以便该节点始终面向相机。我如何在 Objective-C 中实现这段代码?


你可以得到一个SCNNode来面对ARCamera通过使用SCNBillboardConstraint:

SCNBillboardConstraint 对象会自动调整节点的方向,以便其局部 z 轴始终指向当前用于渲染场景的 pointOfView 节点。例如,您可以使用广告牌约束,使用二维精灵图像而不是三维几何图形来高效渲染场景的各个部分 - 通过将精灵映射到受广告牌约束影响的平面上,精灵可以保持其相对于观看者的方向。要将约束附加到 SCNNode 对象,请使用其约束属性。

目标C:

SCNBillboardConstraint *lookAtConstraint = [SCNBillboardConstraint billboardConstraint];

node.constraints = @[lookAtConstraint];

Swift:

let lookAtConstraint = SCNBillboardConstraint()
node.constraints = [lookAtConstraint]

如果您希望 SCNNode 面向另一个节点,那么您可以使用SCNLookAtConstraint:

例如,您可以使用注视约束来确保摄像机或聚光灯始终跟随游戏角色的移动。要将约束附加到 SCNNode 对象,请使用其约束属性。 节点指向其局部坐标系的负 z 轴方向。该轴定义包含摄像机的节点的视图方向和包含聚光灯或定向灯的节点的照明方向,以及节点的几何图形和子节点的方向。当 Scene Kit 评估查看约束时,它会更新受约束节点的变换属性,以便该节点的负 z 轴指向约束的目标节点。

目标C:

SCNLookAtConstraint * lookAtNode = [SCNLookAtConstraint lookAtConstraintWithTarget:secondNode];
fistNode.constraints = @[lookAtNode];

Swift:

 let lookAtConstraint = SCNLookAtConstraint(target: secondNode)
 firstNode.constraints = [lookAtConstraint]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 ARCamera 旋转变换应用于节点 (ARKit) 的相关文章

  • iOS8中如何在UIAlertController中添加UITableview?

    Till iOS7 in Custom view we can put tableview in alert as per below picture But in iOS8 UITableview is not working I can
  • 在 iOS safari 中禁用选择上下文菜单

    我想禁用在 iOS Safari 网络浏览器 中选择特定文本后出现的默认上下文菜单 那可能吗 这是可能的 请参阅这个例子 http jsfiddle net z9ZNU 基本上 重要的部分是设置正确的 css 属性 body webkit
  • iOS 显示 UIImage 全屏并启用缩放(捏合和双击)

    我有一个UIImage从相机捕获UIImagePickerController 现在 在用户单击它之后 我希望它显示全屏 并且能够使用捏合手势进行放大和缩小 还可以使用双击手势来放大特定区域 换句话说 我想模拟ios默认图像浏览器的功能 我
  • 如何在文本末尾添加按钮,如 Facebook 的“继续阅读”?

    当状态帖子太长时 Facebook 应用程序会剪切文本并在末尾添加 继续阅读 它如何知道在哪里剪切文本并添加 继续阅读 不仅仅是向 textView 或标签添加按钮 而是如何剪切字符串 例如 在下图中 我将行数限制为 7 我可以在 text
  • 将用户重定向到 iTunes 应用商店或 Google Play 商店?

    我正在寻找一种简单的解决方案来发布我的应用程序的一个链接 例如在 Facebook 上 如果用户使用移动设备访问它 它应该自动重定向到正确的应用程序商店 否则 用户应该被重定向到我的网站 iOS应用程序 http itunes apple
  • scrollToRowAtIndexPath:atScrollPosition:动画滚动太慢

    基于分页 UIScrollView 的页面更改 我正在调用scrollToRowAtIndexPath atScrollPosition animated到所显示的该页面的表详细信息 void scrollViewDidScroll UIS
  • 从 xib 中提取 UI 项目?

    经过一番浏览文档后 我决定使用以下技术 使用 viewWithTag 从 loadNibNamed owner options 返回的主根视图中提取子视图 首先 我有点困惑 因为我假设 loadNibNamed owner options
  • 核心数据:解决一个奇怪的 EXC_BAD_ACCESS 错误

    我在核心数据方面面临着一个非常奇怪的问题 我们来描述一下 定义 假设我有两个模型 ModelA and ModelB 在数据模型中ModelA有参考ModelB作为一对多关联 因此ModelB与 具有一对一关联ModelA Update 当
  • 我可以使用 NSDateFormatter 将此日期字符串转换为 NSDate 吗?

    我有这个字符串 2010 08 24T16 00 00 05 00 我想从中提取时间部分 即 16 00 并将其转换为 12 小时等效值 即下午 04 00 我正在尝试使用 NSDateFormatter 来完成此任务 但它不起作用 NSD
  • 无限 UIScrollView 在 iOS4.3 中出现奇怪的行为,而不是 iOS5

    我已经实现了一个包含 UIView 的无限 UIScrollView 在 iOS5 模拟器和 iPhone 中滚动时 效果非常好 但在 iOS 4 3 sim 和手机 中 情况有点疯狂 滚动条传递的视图比应有的多 大约比 iOS5 多 10
  • StoryBoard 2 导航控制器指向相同的视图

    有谁知道为什么这不起作用 这样 只有一个选项卡栏加载视图 另一个选项卡栏则显示黑屏 我在没有导航控制器的情况下尝试过 选项卡栏是正确的 而另一个在运行模式下不显示选项卡栏项目 如果有人感兴趣的话我对这个问题的回答 添加两个视图来启动我们感兴
  • 在 iPhone 和 Cocos2d 中从类类型(+)方法访问对象?

    我有一个类方法 在其中创建并返回类对象 但我想访问同一类中该对象的某些属性 作为一个类方法 我无法在 h 文件中声明该变量 然后在其他方法中访问它 以下是代码 我如何在下面的实例方法中访问 backsprite 或 hudlayer 对象的
  • UICollectionviewcell 更改背景

    如果我知道部分编号和项目编号 如何更改单元格中的背景 下面的代码显示了我如何尝试做到这一点 UICollectionViewCell collectionView UICollectionView collectionView cellFo
  • Xcode 本地化设置中没有加号或减号按钮

    我需要在两天内翻译 iOS 应用程序 但我的 XCode 版本 4 4 和 4 5 Developer Preview 都没有给我添加其他语言的选项 我只能选择单击 Make localized 但我只能选择英语 选择它后 Xcode 中的
  • 获取 Swift 子目录中资源的所有 URL

    我正在尝试为 iOS 应用程序的子目录中的所有资源创建 URL 数组 我似乎无法到达正确的路径 即使我不知道名称 我也希望能够检索 URL 即我不想将文件名硬编码到代码中 Below is a screen shot of the hier
  • UINavigationController 在后退按钮单击时向下滚动

    我正在开发一个带有多个导航控制器的 iPhone iPad 应用程序 当我在设备处于横向模式时单击视图的后退按钮时 前一个视图会垂直滚动到屏幕中 而不是像往常一样水平滚动 推送动画始终水平工作 正如它应该的那样 是什么导致了这个奇怪的问题
  • Objective-C 声明的 @property 属性(非原子、复制、强、弱)

    有人可以向我详细解释一下我何时必须使用每个属性 nonatomic copy strong weak等等 对于声明的属性 并解释每个属性的作用是什么 某种例子也很好 我正在使用ARC 非原子的 Nonatomic https stackov
  • NSURLConnection 是否自动保留从服务器发送的 cookie?

    我从 ios 登录到我的龙卷风后端并发回 secure cookie 我注意到只要验证我设置的 secure cookie 我还可以请求其他信息 NSURLConnection 会保留 cookie 多久 或者关闭应用程序后 cookie
  • Swift 3 和 Xcode8 - init 的使用不明确

    在我安装 Xcode 8 并将项目转换为 Swift 3 之前 以下行没问题 现在转换后看起来像这样 let valueData Data Data bytes UnsafePointer
  • 如何将 NSAppTransportSecurity 添加到 Cordova 项目

    我正在从事一个 ionic cordova 项目 该应用程序需要配置 iOS 9 版本的应用程序传输安全例外 有谁知道如何将以下配置添加到 cordova 项目配置文件中 配置 xml

随机推荐

  • 如何调试涉及 Classes.pas 中 ThreadProc 崩溃的设计时包卸载崩溃?

    我不确定如何追踪以下崩溃 当卸载我公司内部使用的设计时包时会发生这种情况 这是我们的代码 因此这是我们要修复的错误 而不是第三方组件供应商的问题 似乎涉及到一个线程 但由于它发生在 Classes pas 中的 Function Threa
  • 使用 pyodbc 在 Access 中处理日期时出现“参数太少”错误

    我正在使用带有 pyodbc 导入的 Python 我使用的是 Microsoft Office 2013 64 位 我正在尝试查询 accdb 数据库以选择范围内的不同日期并将它们分配给游标 以便我可以将它们附加到列表中 我的 Acces
  • 正则表达式从字符捕获到第一个句点

    我的正则表达式字符串看起来像 您的订单 Q 111 111 1111 账单金额为 100 50 美元 如何提取订单号 即 和第一个 之间的字符串 Q 111 111 1111 我试过了 但它正在捕获最后一个点字符 我确信 我需要使用非贪婪匹
  • Linux 是否对页目录和页表使用自映射?

    我只是问这个问题 因为我很好奇 Linux 内核是如何工作的 根据http i web i u tokyo ac jp edu training ss lecture new documents Lectures 02 VirtualMem
  • 是/否消息框始终返回是 - VB.Net

    我正在尝试消息框 并尝试了一个简单的是 否消息框 所以我写了这段简单的代码 但是 无论我按下哪个按钮 chc 变量始终返回为 1 我提供了代码 所以你可能会看到我做错了什么 这可能是严重错误的 If MsgBoxResult Yes The
  • 将多个类绑定到单个变量

    在使用 Tailwind 和实用程序优先的 css 方法时 我经常发现需要将多个类绑定到单个变量 例如 要设置输入表单的样式 我需要添加border red color red等 如果有错误 在 Vue 中是否有一种漂亮而优雅的方式来表达这
  • 仅使用 javascript 在服务器上读取/写入 txt 文件,而不涉及任何服务器端语言

    我正在开发一个简单的 HTML Javascript 应用程序 该应用程序在文本区域中向用户显示一条随机文本消息 我有15 20条这样的短信 最多500个字符 我不想将这些消息保存在数据库中 我有两种情况 我每条消息都有多个 txt 文件
  • 每当声明停止请求时,HasAnyAuthority 总是让我进入 api

    通过 Spring Security 我创建了一个方法 Configuration EnableWebSecurity EnableGlobalMethodSecurity securedEnabled true public class
  • 使用 cmake 从 llvm 源目录开发 llvm 通道

    我正在尝试在我的项目目录下开发 llvm pass 为此 我遵循中的信息http llvm org docs CMake html developing llvm pass out of source 我按照此链接适当地创建了我的 CMak
  • RegEx 在 Javascript 中获取字符串后的 URL 部分

    我有以下网址 http data test com api v1 entity 1231 我需要获取后面的文本v1 和之前 斜线之间 在本例中为单词entity 我正在使用以下正则表达式 但我得到的是entity 1231第 1 组 v1
  • Java 1.5 中的 JTable 对行进行排序

    有没有一种简单的方法可以使用 Java 1 5 对 JTable 中的行进行排序 setAutoCreateRowSorter and TableRowSorter似乎是 Java 1 6 功能 Java 1 5 中的排序只能通过库实现 例
  • 在 Objective-C 中替换字符串中的坏词

    我有一个带有公共高分列表的游戏 我允许图层输入他们的名称 或任何最多 12 个字符的名称 我正在尝试创建几个函数来从坏词列表中过滤掉坏词 我有一个文本文件 我有两种方法 读取文本文件之一 void getTheBadWordsAndSave
  • 如何在Python中读取可以保存为ansi或unicode的文件?

    我必须编写一个脚本来支持读取可以保存为 Unicode 或 Ansi 的文件 使用 MS 的记事本 我的文件中没有任何编码格式的指示 如何支持这两种编码格式 一种在不提前知道格式的情况下读取文件的通用方法 MS 记事本为用户提供了 4 种编
  • 使用 gcloud cli 执行具有多个输入/输出的 Dataflow 作业

    我在 Dataprep 中设计了数据转换 现在尝试使用 Dataflow 中的模板来运行它 我的流程有多个输入和输出 数据流模板将它们作为 json 对象提供 其中每个输入和位置都有键 值对 它们看起来像这样 添加换行符以便于阅读 loca
  • 如何在自动绘图中放置不同的符号

    我遇到了一些麻烦autoplot 在生存对象中 我将以下面的例子为例 library ggplot2 library ggfortify library survival datalung lt lung fitlung lt survfi
  • 我尝试使用 Sharedpreferences 保存对象数组列表,但 toJson 和 fromJson 导致致命异常

    我的对象包含一个 String long 和 int 对象称为 Tracker 我有一个 Trackers 数组列表 当我尝试使用 toJson 时出现错误 与 fromJson 相同 我每次都会得到这个 FATAL EXCEPTION m
  • 拖动分隔符来调整 UIView 的大小

    实现由一条线分隔的 UIView 组成的界面的最佳方式是什么 并且该线可以调整视图的大小 最简单的形式可能如下所示 View A lt line which can be moved up and down resizing the vie
  • 将 html 放入 iframe 中(使用 javascript)

    我可以创建一个空 iframe 作为占位符以便稍后将 html 插入其中吗 换句话说 假设我有一个带有 id 的空 iframe 如何在其中插入 html 我正在使用jquery 如果这样更容易的话 你也可以在没有 jQuery 的情况下做
  • 为什么使用 rand() 被认为是不好的?

    的用法rand 尽管使用种子通过srand 为什么会这样呢 有哪些更好的替代方案 这个故事有两个部分 First rand is a 伪随机数发生器 这意味着它取决于种子 对于给定的种子 它将始终给出相同的序列 假设相同的实现 这使得它不适
  • 将 ARCamera 旋转变换应用于节点 (ARKit)

    我想将 ARCamera 的旋转应用于 3D 节点 以便该节点始终面向相机 我如何在 Objective C 中实现这段代码 你可以得到一个SCNNode来面对ARCamera通过使用SCNBillboardConstraint SCNBi