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.
- Swift 5.0
- iOS 11.3
Add the URL of this repository to your Xcode 11+ Project and select version 2.0+
https://github.com/maxxfrazer/ARKit-FocusNode.git
Include this pod in your Podfile like so:
pod 'FocusNode'
See the Example for a full working example as can be seen in the image above
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 {}
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