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

Vuforia Area Targets Test App for HoloLens doesn't find and register Area Target databases #170

Open
Therobopy opened this issue Dec 11, 2024 · 13 comments
Labels
bug-report Bugs and issues

Comments

@Therobopy
Copy link

Therobopy commented Dec 11, 2024

Summarize the bug:
I followed the steps described in the guide on the web page https://developer.vuforia.com/library/develop-area-targets/area-targets-test-app-user-guide in the section Installing and Testing on HoloLens. I also added the licence. The second time I start the app after uploading the files for the Area Target databases, I can see the list with the 9 datasets but each dataset is neither registered nor active. The folder I used to upload the files was the Dataset 1. As explained in the guide, I uploaded the AT_name.dat and AT_name_occlusion.3dt files. I obtained these files from Vuforia Area Target Generator 10.28.4. The environment was scanned with an iPad Pro, using the Vuforia Creator App Version 10.27.0, powered by Vuforia Engine 10.27.3.

Observed problem
No dataset is registered or active. Each dataset has an empty circle because no database is found, altough files are uploaded in Dataset 1.

Expected result
The dataset containing the files of the Area Target database is registered and a grey circle is displayed. Upon specific voice command, the dataset is activated and tracking is established.

Other observations
Speach recognition doesn't work well with all dataset numbers. The voice command to activate dataset 1 does not seem to be recognized, instead it happens more often that the commands for datasets 9 and 4 are recognized even when they are not requested.

Reproducible steps
Steps to reproduce the behavior:

  1. Create a new project and upload an Area Target database as explained in the official guide on the Vuforia website
  2. Follow the steps on the Vuforia web page Area Targets Test App User Guide for HoloLens
  3. Start the Area Target Test App
  4. Check if any dataset is found and registered

Affected Vuforia Engine version:
v10.28.4

Affected platform:

  • Workstation OS: Microsoft Windows 10 Education
  • Platform: Unity
  • Platform version: 2022.3.20f1

Affected device:

  • Name: Microsoft HoloLens2

Affected database
Not sure if I can share the database files

Device or platform logs
UnityPlayer.log

@Therobopy Therobopy added the bug-report Bugs and issues label Dec 11, 2024
@Therobopy Therobopy changed the title Vuforia Area Targets Test App for HoloLens doesen't find and register Area Target databases Vuforia Area Targets Test App for HoloLens doesn't find and register Area Target databases Dec 11, 2024
@ptc-thesbyro
Copy link
Collaborator

Hi,

Thank you for your report.

It looks like you did everything correctly, but just to be sure; are your folders set up so Dataset_1, Dataset_2, etc. have just one set of Area Target dataset files (.dat and .3dt)?

@Therobopy
Copy link
Author

Hi,

I'm attaching some images of my current AreaTargetData folder in the Windows Device Portal. In Dataset 1 you can see the 2 files required. The other datasets are empty.
ds1
wdp

Thank you

@ptc-thesbyro
Copy link
Collaborator

Thanks for the update.

Could you try adding the XML file from the database as well?

@Therobopy
Copy link
Author

Therobopy commented Dec 12, 2024

Do you mean attach here the file or add it to the dataset folder of the app? Anyway, Github doesn't allow me to attach the .xml file so I will attach a screenshot:
xmlfile

I also tried to add the .xml file to the database folder of the app but nothing changes

@ptc-epassaro
Copy link
Collaborator

Hi @Therobopy, from the log file you provided in the description, it looks like the problem might be caused by the Input System settings:

InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.
  at UnityEngine.Input.get_mousePosition () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.EventSystems.StandaloneInputModule.UpdateModule () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.EventSystems.EventSystem.TickModules () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.EventSystems.EventSystem.Update () [0x00000] in <00000000000000000000000000000000>:0 

Can you please try to switch to the old Input System in the Player ProjectSettings?
It's a long shot and it would be extremely surprising if it makes a difference, but it's the only error in the whole log, so it might have some influence on the issue you're seeing.

Thank you

@Therobopy
Copy link
Author

Hi @ptc-epassaro I tried to switch to Input Manager (Old) in the player settings (see attached image) as suggested
input

but it seems this doesn't work with OpenXR because the build failed
build_errors

For the sake of completeness, after switching to Input Manager (Old) Unity restarted and then I clicked NO when the following warning popped up
warning

@Therobopy
Copy link
Author

Therobopy commented Dec 13, 2024

Hello,

Update:
I setup a new project as explained in the guide https://developer.vuforia.com/library/platform-support/vuforia-digital-eyewear-sample for HoloLens, using another AreaTarget database of the same environment, captured with the same device and imported in the project through the Unity package obtained from the Area Target Generator. I added both a gameobject and an ImageTarget as children of the AreaTarget and another smaller gameobject as child of the ImageTarget. For the first time I was able to see the augmentations, meaning that the AreaTarget database was detected and tracked.

Still wasn't able to make the ImageTargetTestApp find the dataset.

@ptc-thesbyro
Copy link
Collaborator

Hi,

Thank you for your update. We will try and reproduce the issue with the Area Target in the Test App for HoloLens. Can you continue your development using the new project?

@ptc-thesbyro
Copy link
Collaborator

Hello @Therobopy,

We haven't been able to reproduce the loading problem in the test app for HoloLens. Are you able to continue your development and testing in the other project you made?

If you want, we can also take a look at the dataset- You can share it via this email vuforia-feedback@ptc.com.

@Therobopy
Copy link
Author

Hello,
yes, I'm testing the Area Target in a new project. The first time I tried to setup a project from scratch with the database I got from the Area Target Generator app I wasn't able to see the augmentations I placed in the scene and then thought about using the AreaTargetTestApp to check if my database was detected. SinceI had few luck getting the app working, I came back to my project. Comparing the project settings from the Vuforia Digital Eyewear project I noticed a tick on the Holographic option for Supported Device Families under the Player settings that wasn't mentioned in the documentation. I can't tell for sure if enabling it made the detection working.

Now, the question arises whether there are other settings that need to be made to make an app work properly on HoloLens and that are not listed on the web page. What is the safe and best approach to create the project in Unity so that the app will work properly on HoloLens?

Thank you

@ptc-thesbyro
Copy link
Collaborator

I think the most reliant way to start a new project for HoloLens is to use Microsoft's documentation. That ensures all settings are correctly applied. Afterwards, the Vuforia Engine SDK can be imported, which should make any necessary changes to the project settings. In the first section of the Digital Eyewear Sample guide, there are some steps to setup a project just for HoloLens (and we also link to Microsoft's setup instructions).

But it's also perfectly fine to use the eyewear sample as a starting point for your project. It's just set up in a way to support both HoloLens and Magic Leap devices.

@Therobopy
Copy link
Author

I followed the steps of the Digital Eyewear Sample guide indeed. However, I noticed that the scene of the Digital Eyewear Sample project which I downloaded contains a MRTK XR Rig Vuforia prefab with some settings that aren't mentioned anywere.

For instance, the Tracked Pose Driver component under the Main camera looks different in the Inspector from that under the Main Camera of a standard MRTK XR Rig prefab, and the same seems to hold for the MRTK RightHand Controller, MRTK LeftHand Controller and MRTK Gaze Controller.

Also, I can't see the MRTKInputSimulator in the Hierarchy, still I can interact with the buttons and drag the UI Canvas. What am I missing?

Thank you

@ptc-thesbyro
Copy link
Collaborator

@ptc-epassaro would know better, but I think the reason for the missing MRTKInputSimulator is that it's only an optional component and Vuforia Engine doesn't support it during Play Mode:
From the documentation:

NOTE: The Vuforia Engine does not support the MRTK simulator because the tracking poses received during play mode do not work with it.

And the Tracked Pose Driver looking different from a standard MRTK XR Rig prefab, is probably a necessity to support both the HoloLens and Magic Leap with the same settings. The same probably holds for the other GameObjects' settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-report Bugs and issues
Projects
None yet
Development

No branches or pull requests

3 participants