FocusNode

这里使用的根类是我在 Apple 的 ARKit 应用文档中找到的一个类,我希望自己能轻松使用它,并认为其他人也会从中受益。

Actions Status Version License Platform Swift Package Manager Swift 5.0

FocusNode Example 1

示例 看起来与上面的 GIF 完全相同。

关于此 CocoaPod 的 Medium 文章 V1 版本

它位于以下页面上的可下载项目中: https://developer.apple.com/documentation/arkit/handling_3d_interaction_and_ui_controls_in_augmented_reality

我已经将该项目的许可证添加到此仓库中。

对于要放入 RealityKit 场景的类似对象,请尝试 FocusEntity 仓库

最低要求

安装

Swift Package Manager

将此仓库的 URL 添加到您的 Xcode 11+ 项目中,并选择 2.0+ 版本 https://github.com/maxxfrazer/ARKit-FocusNode.git

CocoaPods

像这样在您的 Podfile 中包含此 pod

pod 'FocusNode'

用法

请参阅示例,以获得完整的可工作示例,如上图所示

V2

按照 V1 中的步骤操作,然后在您的 sceneView 类(例如 ARSCNView)中,添加 ARSmartHitTest 协议,如下所示

extension ARSCNView: ARSmartHitTest {}

V1

FocusNode 导入到您的 .swift 文件中,并像这样将其添加到您的场景中

let focusNode = FocusSquare()
sceneView.scene.rootNode.addChildNode(self.focusNode)
focusNode.viewDelegate = sceneView

如果不清楚,请查看示例项目或在 GitHub 或 Twitter 上给我留言。

我没有自己编写此代码的大部分内容,其中大部分直接取自 Apple 的示例