Symptom: If you are using a Hololens, after you place the island, go to the back of the volcano and click the "Debug" wrench icon, which will enable the debug window. If you now put one of your hands in and out the frustum view, the island and debug window graphics will spin around you indefinitely.
I traced the problem to the following:
A NullReferenceException was coming from FadeScript's CalculateFade function because fadeMaterial was null.
CalculateFade was getting called by FadeScript's Update function.
FadeScript's Update function was getting called because FadeScript's DoFade was marking the fade as busy.
FadeScript's DoFade was getting called by MixedRealityTeleport's Update function.
MixedRealityTeleport's Update function, for some unknown reason, was picking up a LeftBumper rotation every time my hand was coming into view, therefore causing a -30° rotation that caused everything to get out-of-whack. Why would it even think there's a LeftBumper rotation on a Hololens? This should only be for immersive headsets, shouldn't it? I'm not sure why my hand is triggering the LeftBumper.
To resolve this issue, I simply wrapped MixedRealityTeleport's Update method with IsDisplayOpaque to make sure that it only does the fade if you are on an immersive headset.
MixedRealityTeleport.cs:
void Update()
{
if (UnityEngine.XR.WSA.HolographicSettings.IsDisplayOpaque)
{
// ... all the code that was here originally looks like it was only relevant to the immersive headset.
}
}
I added the workaround . Wow, that bumper rot showing up non zero is very surprising. I'll have to see what's going on when Unity 2017.2 can build for HoloLens again.
Symptom: If you are using a Hololens, after you place the island, go to the back of the volcano and click the "Debug" wrench icon, which will enable the debug window. If you now put one of your hands in and out the frustum view, the island and debug window graphics will spin around you indefinitely.
I traced the problem to the following:
To resolve this issue, I simply wrapped MixedRealityTeleport's Update method with IsDisplayOpaque to make sure that it only does the fade if you are on an immersive headset.
MixedRealityTeleport.cs:
Regards, Tam