ARKit-FocusNode
ARKit-FocusNode copied to clipboard
FocusSquare class taken straight from Apple's ARKit examples and packed up for anyone to use with ease.
FocusNode
The root class here uses a class I found in Apple's documentation for ARKit apps that I wanted to have easy to use myself, and thought others would benefit from it too.

The Example looks identical to the above GIF.
Medium Article V1 of this CocoaPod
It was found inside the downloadable project on the following page: https://developer.apple.com/documentation/arkit/handling_3d_interaction_and_ui_controls_in_augmented_reality
I've added the license from that project to this repository.
For a similar object to place into a RealityKit scene, try the FocusEntity Repository.
Minimum Requirements
- Swift 5.0
- iOS 11.3
Installation
Swift Package Manager
Add the URL of this repository to your Xcode 11+ Project and select version 2.0+
https://github.com/maxxfrazer/ARKit-FocusNode.git
CocoaPods
Include this pod in your Podfile like so:
pod 'FocusNode'
Usage
See the Example for a full working example as can be seen in the image above
V2
Follow steps in V1, and then whatever you have as your sceneView class, for example ARSCNView, add the protocol of ARSmartHitTest to it like the following:
extension ARSCNView: ARSmartHitTest {}
V1
Import FocusNode to your .swift file and add it to your scene as so:
let focusNode = FocusSquare()
sceneView.scene.rootNode.addChildNode(self.focusNode)
focusNode.viewDelegate = sceneView
Check out the Example project or message me on GitHub or twitter if it's unclear.
I DID NOT WRITE A MAJORITY OF THIS CODE MYSELF, MOST OF IT WAS TAKEN DIRECTLY FROM APPLE'S EXAMPLES