Skip to content
This repository was archived by the owner on Aug 11, 2024. It is now read-only.

Commit 33b2116

Browse files
authored
Update default profile to use default teleport mode (#215)
* Update default profile to use default teleport mode * Remove InstantTeleportProvider (since now default) * Fix FadingTeleportProvider flickering on first use
1 parent 5eee3cc commit 33b2116

File tree

4 files changed

+27
-116
lines changed

4 files changed

+27
-116
lines changed

Profiles~/Teleport/MixedRealityTeleportSystemProfile.asset

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,4 @@ MonoBehaviour:
1313
m_Name: MixedRealityTeleportSystemProfile
1414
m_EditorClassIdentifier:
1515
configurations: []
16-
teleportHandlerComponent:
17-
reference: cb3ee7a8-114e-44d6-9edc-cd55049fefb6
16+
teleportMode: 0

Runtime/Features/TeleportSystem/FadingTeleportProvider.cs

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ private void Awake()
5353
{
5454
teleportTransform = cameraTransform.parent;
5555
Debug.Assert(teleportTransform != null,
56-
$"{nameof(InstantTeleportProvider)} requires that the camera be parented under another object " +
56+
$"{nameof(FadingTeleportProvider)} requires that the camera be parented under another object " +
5757
$"or a parent transform was assigned in editor.");
5858
}
5959

@@ -70,9 +70,7 @@ private void Update()
7070
fadeTime += Time.deltaTime;
7171
var t = fadeTime / fadeDuration;
7272
var frameColor = Color.Lerp(fadeInColor, fadeOutColor, t);
73-
var material = fadeSphereRenderer.material;
74-
material.color = frameColor;
75-
fadeSphereRenderer.material = material;
73+
SetColor(frameColor);
7674

7775
if (t >= 1f)
7876
{
@@ -85,9 +83,7 @@ private void Update()
8583
fadeTime += Time.deltaTime;
8684
var t = fadeTime / fadeDuration;
8785
var frameColor = Color.Lerp(fadeOutColor, fadeInColor, t);
88-
var material = fadeSphereRenderer.material;
89-
material.color = frameColor;
90-
fadeSphereRenderer.material = material;
86+
SetColor(frameColor);
9187

9288
if (t >= 1f)
9389
{
@@ -194,41 +190,48 @@ private void InitiailzeFadeSphere()
194190
// Configure the mesh renderer to not impact anything else
195191
// in the scene.
196192
fadeSphereRenderer = fadeSphere.GetComponent<MeshRenderer>();
197-
fadeSphereRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
193+
fadeSphereRenderer.shadowCastingMode = ShadowCastingMode.Off;
198194
fadeSphereRenderer.receiveShadows = false;
199195
fadeSphereRenderer.allowOcclusionWhenDynamic = false;
200-
fadeSphereRenderer.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off;
201-
fadeSphereRenderer.reflectionProbeUsage = UnityEngine.Rendering.ReflectionProbeUsage.Off;
196+
fadeSphereRenderer.lightProbeUsage = LightProbeUsage.Off;
197+
fadeSphereRenderer.reflectionProbeUsage = ReflectionProbeUsage.Off;
202198

203-
// Finally paint the sphere black. We use the default
204-
// material created on the sphere to clone its properties
205-
// and paint it black with transparency enabled.
206-
var blackMaterial = new Material(fadeSphereRenderer.material)
199+
// Finally paint the sphere with a transparency enabled material.
200+
// We use the default material created on the sphere to clone its properties.
201+
var fadeMaterial = new Material(fadeSphereRenderer.material)
207202
{
208-
color = fadeOutColor
203+
color = fadeInColor
209204
};
210205

211206
if (GraphicsSettings.renderPipelineAsset.IsNull())
212207
{
213-
blackMaterial.SetInt("_SrcBlend", (int)BlendMode.One);
214-
blackMaterial.SetInt("_DstBlend", (int)BlendMode.OneMinusSrcAlpha);
215-
blackMaterial.SetInt("_ZWrite", 0);
216-
blackMaterial.DisableKeyword("_ALPHATEST_ON");
217-
blackMaterial.DisableKeyword("_ALPHABLEND_ON");
218-
blackMaterial.EnableKeyword("_ALPHAPREMULTIPLY_ON");
219-
blackMaterial.renderQueue = 3000;
208+
// Unity standard shader can be assumed since we created a primitive.
209+
fadeMaterial.SetInt("_SrcBlend", (int)BlendMode.One);
210+
fadeMaterial.SetInt("_DstBlend", (int)BlendMode.OneMinusSrcAlpha);
211+
fadeMaterial.SetInt("_ZWrite", 0);
212+
fadeMaterial.DisableKeyword("_ALPHATEST_ON");
213+
fadeMaterial.DisableKeyword("_ALPHABLEND_ON");
214+
fadeMaterial.EnableKeyword("_ALPHAPREMULTIPLY_ON");
215+
fadeMaterial.renderQueue = 3000;
220216
}
221217
else
222218
{
223219
Debug.LogError($"{nameof(FadingTeleportProvider)} does not support render pipelines. The handler won't be able to fade in and out.");
224220
}
225221

226-
fadeSphereRenderer.material = blackMaterial;
222+
fadeSphereRenderer.material = fadeMaterial;
227223
}
228224

229225
// Initially hide the sphere, we only want it to be active when
230226
// fading.
231227
fadeSphere.SetActive(false);
232228
}
229+
230+
private void SetColor(Color color)
231+
{
232+
var material = fadeSphereRenderer.material;
233+
material.color = color;
234+
fadeSphereRenderer.material = material;
235+
}
233236
}
234237
}

Runtime/Features/TeleportSystem/InstantTeleportProvider.cs

Lines changed: 0 additions & 80 deletions
This file was deleted.

Runtime/Features/TeleportSystem/InstantTeleportProvider.cs.meta

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)