Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MPEG-SD anchoring extension #3

Open
wants to merge 7 commits into
base: dev/iso-23090-14
Choose a base branch
from

Conversation

Etiennefaivredarcier
Copy link

This pull request brings the implementation of the MPEG_Anchor extension (link) along with a few bugfixes and reworks on the interactivity extension.

The extension implement:

  • The support for trackables
    • Including these types:
      • Floor
      • Viewer
      • Plane
      • 2D Marker
      • Marker geo
      • Application
  • The support for anchors

For this pull request to be working properly and to be able to test it, a version of Unity-player is needed, as well as the new version of rt-xr-content.

This extensions offers a lot of core fonctionnalities for AR, has been tested on a Android mobile phone and comes with the following dependencies versions: For Unity version 2022.3, most of the following packages are installed via the global AR Package from Unity. Here is the complete list:

  • ARCore Extensions - 1.40.0 - com.google.ar.core.arfoundation.extensions
  • Apple ARKit XR Plugin - 5.1.1 - com.unity.xr.arkit
  • AR Foundation - 5.1.1 - com.unity.xr.arfoundation
  • Google ARCore XR Plugin - 5.1.1 - com.unity.xr.arcore
  • OpenXR Plugin - 1.9.1 - com.unity.xr.openxr
  • XRCore Utilities - 5.3.0 - com.unity.xr.core-utils
  • XR Interaction Subsystems - 2.3.0 - com.unity.xr.interactionsubsystems
  • XR Legacy Input Helpers - 2.1.10 - com.unity.xr.legacyinputhelpers
  • XR Plugin Management - 4.4.0 - com.unity.xr.management

"Google.XR.ARCoreExtensions",
"Unity.XR.ARSubsystems",
"Google.XR.ARCoreExtensions.GeospatialCreator",
"Unity.XR.CoreUtils"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might want to add these new dependencies to the package.json manifest as well.

Copy link

@nlsdvl nlsdvl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Etiennefaivredarcier Thank you for contributing the AR anchoring.

I started reviewing your contribution, and I ran into issues related to com.google.ar.core.arfoundation.extensions giving me this fatal error:

Assembly 'Packages/com.google.ar.core.arfoundation.extensions/Editor/ExternalDependencyManager/Editor/Google.IOSResolver.dll' will not be loaded due to errors:
Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Is the assembly missing or incompatible with the current platform?
Reference validation can be disabled in the Plugin Inspector.

The only way I found to resolve this is by patching com.google.ar.core.arfoundation.extensions or installing the iOS build environment even if these are currently unused.
Do you also have this bug on your side ?

After fixing this error, I get a lot of warnings in Unity's editor console :

  • variables that are declared but unused in the contribution
  • variables that are not initialized
  • unreachable code
  • potential null dereference

can you please fix these ? One reason to keep the log clean is to keep an eye on the warnings we don't have control over, such as the one comming from dependencies about deprecated components. The warnings might not show up when you open the project, in that case they should show up when building.

@Etiennefaivredarcier
Copy link
Author

Hello @nlsdvl ,

Thank you for your comments, i've commited a new version with the fixes. Concerning the com.google.ar.core.arfoundation.extensions, I have the problem as well since I don't have the iOs build. What I recommend for this package is either to remove the iOsResolver dll from the project if it is not useful. I found the link to the issue here for reference:
google-ar/arcore-unity-extensions#172

@nlsdvl
Copy link

nlsdvl commented Apr 4, 2024

@Etiennefaivredarcier regarding the iOsResolver dll error.
The steps to resolve the issue must be documented in the player build steps.
I ended up installing the iOS build kit.

However the project now only compiles for Android because of the dependency on ARCore.
Windows build no longer works.

@nlsdvl nlsdvl self-requested a review April 16, 2024 12:48
@nlsdvl
Copy link

nlsdvl commented Apr 16, 2024

@Etiennefaivredarcier I can now build for Android but the Windows build is still broken

Copy link

@nlsdvl nlsdvl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Etiennefaivredarcier - As discussed offline, I tested your contribution using the supporting content from https://github.com/5G-MAG/rt-xr-content/tree/rt-xr/dev/mpeg_anchoring - I observed that anchoring didn't work as I expected. Display of the nodes or scenes can be triggered by the application when the appropriate trackable is detected in the environment, but the node is not always anchored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
3 participants