AgoraIO-Community / AR-Remote-Support

This is a POC of how to build a Remote support app (similar to Vuforia Chalk) using ARKit and Agora.io's Video SDK.
MIT License
23 stars 11 forks source link

RTM Fixes #31

Closed maxxfrazer closed 1 year ago

maxxfrazer commented 1 year ago

Thanks @lichadehehehe for the issue: #30

lichadehehehe commented 1 year ago

Many thanks for the update. I have been excited to try the ar notation for a while and I'm glad to see it shows up so I can try it out! (See video recording for details) https://youtu.be/VReeU_weZFo

As you can see in the video, the ar notation from the helpers, albeit visible, does not "fix" onto the visual environment as I expected (at least it is still quite different than Vuforia Chalk). I'm not sure if is it a bug on my side or if the ar-remote-support is expected to behave this way due to the shortcomings between open-source projects and commercial applications. As far as know Vuforia Chalk requires the user to do a "SLAM dance" before the helping segment commences, maybe this is where they make the ar notation fix onto the environments?

lichadehehehe commented 1 year ago

And also the white globe can still be seen in the background for some reason

maxxfrazer commented 1 year ago

Glad it works!! The object is added here, just comment or delete to get rid of it: https://github.com/AgoraIO-Community/AR-Remote-Support/blob/c8753d98eb3929cfaab169b712666fda5605d692/AR%20Remote%20Support/ARSupportBroadcasterViewController.swift#L114 It's just added to show that the scene graph is present when launching the app.

For the lines drawn in the scene, this repo (along with most others here) is supposed to be more of an example of what can be done, rather than a fully fledged app. so we try to keep it fairly simple so that it's more digestible.

To take it to the next level, you'd want to do is enable lidar tracking and update the hitTest to use the lidar as valid collisions. https://github.com/AgoraIO-Community/AR-Remote-Support/blob/c8753d98eb3929cfaab169b712666fda5605d692/AR%20Remote%20Support/ARSupportBroadcasterViewController.swift#L217

I work mostly with RealityKit now, but with SceneKit I made this other package for figuring out a better hitTest: https://github.com/maxxfrazer/ARKit-SmartHitTest/blob/master/Sources/SmartHitTest/SmartHitTest.swift

There's probably a better hitTest or raycast method that's in SceneKit now. But this one is used in my other package FocusNode: https://github.com/maxxfrazer/ARKit-FocusNode/blob/1a06d168301edbf457bf113d6fcb17740e1f5b8f/Sources/FocusNode/FocusNode.swift#L368

Just replace "center" with the touchpoint that's passed in this repo already here.

There's quite a few links there, but hopefully you find them useful!!

lichadehehehe commented 1 year ago

Thank you very much for all the information, that's already been a lot for me to digest and keep exploring!~