Log in or register to post comments

Positional Rotationl at runtime

January 16, 2019 - 8:26am #1

Hi,

 

Im geeting some problems to figure out how to switch device tracker positional / rotational at runtime, in the way that sometimes need to work with groundplane in AR mode and other times in VR mode to show some 360 video.

Im using MixedRealityController.Instance.SetMode, but when switching to VR (handhell or viewer) the positional tracker is still active, if I try to go rotational only (3dof) with DeviceTracker.TrackingMode = DeviceTracker.TRACKING_MODE.ROTATIONAL the camera stop rotating so i guess vuforia stop device tracking.

Whats the properly way and onder to setting this?

Thanks

Mariano

 

Positional Rotationl at runtime

February 26, 2019 - 12:59pm #11

Hello @on4ir4m,

Thanks for the feedback and apologies for the late reply. Your scenario is adversarial and may just represent a lack of robustness build into the samples - they're certainly not bulletproof.

After reconsidering this thread, I have some additional questions for the dev team. I'll try to summarize any relevant findings about this AR+VR use case here.

Thanks,

Vuforia Engine Support

Positional Rotationl at runtime

February 12, 2019 - 7:32am #10

Hi,

Something not working properly about device tracker, track device pose:

 

Easy test:

 

- Open the Vufroia AR VR sample

- Go to Vuforia Configuration

- Go to Device Pose and check Track Device Pose

- Click the dropdown Tracking Mode and select Positional

- Now UNCHECK Track Device Pose

- Build (in my case Android)

- Run the sample and go to VR mode, the Positional Tracker is running and the Rotational tracker never start (MixedRealityController.Instance.SetMode VR does not switch to rotational)

 

Even the Track Device Pose checkbox is unchecked the configuration still set the positional mode, I still cant find a way to forcé set device pose mode by code.

Regards

 

Mariano

 

Positional Rotationl at runtime

January 27, 2019 - 5:36pm #9

hello @medabit

medabit wrote:

I think you may have misread the response. Here was the key point I was trying to make: "The issue is related to using Ground Plane while in VR mode. VR mode is strictly 3DoF only, and does not support the camera. Ground Plane is 6DoF and requires real time camera frames to be aligned with IMU data."

This is a matter about which tracker you're using, and when. Positional tracker is for Ground Plane, and Rotational tracker is for VR.

thanks for clarification. I will look into this and trying to see what I can do with this information.

medabit wrote:

Are you saying that this project worked in a earlier version of Vuforia, but is now broken in Engine SDK 8.0?

I have several projects that have image tracker and vr mode in one app. we only change in mixed reality mode when switch between scene. those apps use image tracker instead of ground plane. 

maybe this one is out of topic, but I tried to upgrade Vuforia in those apps. after several attempts to upgrade the code, I'm stuck in extended tracker function. on old Vuforia, I can use extended tracker without choose track device pose in Vuforia Configuration first. but now we must choose positional device tracker. that makes vr mode in those apps locked because Vuforia configuration must be in positional instead of rotational. I already sent this issue to Vuforia support but no conclusion yet.

thank you for your help. look forward to another solutions for this issue.

regards

 

updated:

I tried Track Device Pose enabled and Tracking Mode to Rotational in Vuforia Configuration. I built the app and the VR camera functional as it should be and still can use Ground Plane to put object on ground. I tried to switch Tracking Mode in code but have no success, so I revert the change. I don't use Extend Tracking on this app for now, so I think it should be sufficient for now. 

I will look forward for another update from Vuforia on this issue. Cheers.

Positional Rotationl at runtime

January 23, 2019 - 2:29pm #8

Hello @dennyoctagon,

dennyoctagon wrote:

so, one of my project trying to use ground plane and when you click on the object you can see inside of it in 360 rotational mode.

Thanks for clarifying the use case. It is helpful for us to be provided the context.

dennyoctagon wrote:

I think this is because one post said that you can't combine Ground Plane with VR Mode: https://forum.unity.com/threads/ground-plane-and-vuforia-ar-vr-sample.581368/

I think you may have misread the response. Here was the key point I was trying to make: "The issue is related to using Ground Plane while in VR mode. VR mode is strictly 3DoF only, and does not support the camera. Ground Plane is 6DoF and requires real time camera frames to be aligned with IMU data."

This is a matter about which tracker you're using, and when. Positional tracker is for Ground Plane, and Rotational tracker is for VR.

dennyoctagon wrote:

I'm using Unity 2018.3.1f1 and Vuforia 8.0.10. I don't have this kind of problem before with other projects using the similar method.

Are you saying that this project worked in a earlier version of Vuforia, but is now broken in Engine SDK 8.0?

Thanks,

Vuforia Engine Support

Positional Rotationl at runtime

January 23, 2019 - 5:48am #7

medabit,

 

I still believe something is not woeking properly.

I found some strange (at least for me) Positional Device Tracker initialization Will fail if you disable the plane Finder gameobject on scene, try with the vuforia core sample.

Tracker initialization should not be related to a gameobject on scene i think is not normal.

Regards

Positional Rotationl at runtime

January 23, 2019 - 5:39am #6

Hi Denny,

 

I have exactly tje same problem, on VR mode in my case a 360 video when point the device towar ground or roof (almost 0 or 90 in Y axis) the rotation freeze and the log show the positional tracking relocating.

The point is that on VR mode the positional tracker should not stay runnung, but it is! That not happen with Vuforia 7.5

I think too is related about combining ground plane and VR in the same scena, but i found someting interesting too, i will post as new post.

Regards

 

Mariano

Positional Rotationl at runtime

January 22, 2019 - 8:31pm #5

hi, maybe I have similar problem with this.

so, one of my project trying to use ground plane and when you click on the object you can see inside of it in 360 rotational mode.

first, I create everything in one scene. the switch button just simple MixedRealityController.Instance.SetMode(MixedRealityController.Mode.Handheld_VR) and put camera inside the object. but whenever you lost sight of the Ground Plane, VR Mode camera will stuck and won't rotating. 

I think this is because one post said that you can't combine Ground Plane with VR Mode: https://forum.unity.com/threads/ground-plane-and-vuforia-ar-vr-sample.581368/

But I tried to separate the scene it's still the same. VR Scene still have to look at Ground Plane or the camera won't rotate. Not to mention that BackgroundPlane is active and can't be disabled. 

I'm using Unity 2018.3.1f1 and Vuforia 8.0.10. I don't have this kind of problem before with other projects using the similar method.

Any help will be appreciated, thanks in advance.

 

Denny

Positional Rotationl at runtime

January 22, 2019 - 9:55am #4

Hello,

We don't believe anything in that area was changed in 8.0, and we don't see how the MixedRealityController alone could be used to switch between device tracking modes.

If you could provide a repo project that demonstrates how this was working in 7.5, we could investigate what needs to be done to make this work in 8.0.

Thanks,

Vuforia Engine Support

Positional Rotationl at runtime

January 17, 2019 - 1:38pm #3

Hi,

 

Thanks for your answer, i forget to give you some more detals the project is for Android (the current test device is Galaxy S7, Android 8, The Unity version is tle last 2018.3.2, and Vuforia 8.

I move back to Vuforia 7.5 and the problema dissapear, let me try to explain you a Little more

 

The Project start in AR and user can switch to VR for a video 360 (when click on imagetarget or VU Mark), with Vuforia 7.5 all run smooth I just use MixedRealityController for switching modes, with Vuforia 8 switching to VR the Positional tracking still running (i see on logcat the tracker status).

I try to stop the positional tracker and enable the rotational tracker in both way, with Vuforia configuration inside Unity IDE and with code but the camera stop rotating, so I dont know whats the properly way to do, maybe the code need to implement with events and wait until positional tracker stops to start the rotational? Please if you have some code i will apreciate.

Anyway is working different with Vuforia 7.5 and 8, so could be a bug?

Why not implement 2 more modes for VR in MixedRealityController, one with Rotational only and another with Rotational Positinoal so we can take advantage too if want to be on VR with positinoal tracking with Ground plane.

Thanks in advance

 

Mariano

Positional Rotationl at runtime

January 17, 2019 - 9:25am #2

Hello,

My understanding is that the MixedRealityController does not allow switching between different device trackers, it only supports either one or the other at any given time. Thus, this would need to be implemented in a script that directly uses the Device Tracker classes (e.g. stop the positional device tracker, start the rotational device tracker).

Switching between AR and VR *without* the MRC can be done using this method: VideoBackgroundManager.Instance.SetVideoBackgroundEnabled(bool);

https://library.vuforia.com/content/vuforia-library/en/reference/unity/classVuforia_1_1VideoBackgroundManager.html

Thanks,

Vuforia Engine Support

Log in or register to post comments