Mixedrealitytoolkit-unity: [dLSR failures] Default MRTK Cursors should not write to depth map. This impacts hologram stabilization

Created on 9 Oct 2019  路  9Comments  路  Source: microsoft/MixedRealityToolkit-Unity

Describe the bug

The default cursor prefab writes to the depth map. This causes interference with Hologram stabilization, especially when using the Eye/GGV Cursor. That is, when using the GGV cursor, stabilization is always incorrect, since what your looking at is being stabilized using the cursor's depth.

Note, when an app is "sharing depth" with unity, Holograms will be stabilized with the app's depth map.

To reproduce

Steps to reproduce the behavior:

  1. Turn on depth sharing
  2. Setup HoloLens 2 app to use GGV cursor only
  3. Remove colliders from your other meshes (not needed, but makes it easier to see problem when cursor doesn't collide with meshes)
  4. Play app on hololens 2.
  5. Ensure GGV cursor is visible
  6. See stabilization of mesh objects, around GGV cursor, is incorrect.

Expected behavior

Hologram stabilization shouldn't be impacted but the cursor

Your Setup (please complete the following information)

  • Unity Version (2018 and 2019)
  • MRTK Version: v2.0 - v2.1

Target Platform (please complete the following information)

  • HoloLens (auto planar LSR will also be incorrect)
  • HoloLens 2
Bug ISV Shaders / Materials

Most helpful comment

Closing based on conversation with @AMollis where he expressed that the team has improved dLSR since this bug was opened and stabilization is much better now.

All 9 comments

@thalbern, can you please assign this bug to someone on your team? This is impacting stabilization of holograms in our partner applications

Remove colliders from your other meshes (not needed, but makes it easier to see problem when cursor doesn't collide with meshes)

Is this a common scenario? I feel like in the majority of cases, the cursor is going to raycast against and align with content in the app.

Remove colliders from your other meshes (not needed, but makes it easier to see problem when cursor doesn't collide with meshes)

Is this a common scenario? I feel like in the majority of cases, the cursor is going to raycast against and align with content in the app.

Removing coliders not needed, there is still error. But regardless this is impacting partners who render large meshes without colliders (I can follow-up offline with details)

This issue has been marked as stale by an automated process because it has not had any recent activity. It will be automatically closed in 30 days if no further activity occurs. If this is still an issue please add a new comment with more recent details and repro steps.

This issue has been closed by an automated process because it is stale. If this is still an issue please add a new comment with more recent details and repro steps.

@Cameron-Micka Is this something we can change as a setting on the MRTKStandard shader?

On the cursor materials we can disable depth write by changing the render mode to "custom" and then turning off "depth write".

image

While this might introduce some rendering artifacts on opaque materials, it might look fine as well since the geometry is pretty simple and the material is unlit. Something to try and see how it looks!

Removing from 2.5 - looks like a simple enough change, but getting appropriate coverage of it might be hard.

Closing based on conversation with @AMollis where he expressed that the team has improved dLSR since this bug was opened and stabilization is much better now.

Was this page helpful?
0 / 5 - 0 ratings