AR Design
UBC EML collab with UBC SALA - visualizing IoT data in AR
SortingLayerOverride.cs
Go to the documentation of this file.
1 // Copyright (c) Microsoft Corporation. All rights reserved.
2 // Licensed under the MIT License. See LICENSE in the project root for license information.
3 
4 using UnityEngine;
5 
6 namespace HoloToolkit.Unity
7 {
11  public class SortingLayerOverride : MonoBehaviour
12  {
13  // Grabs the last layer in the project
14  public bool UseLastLayer = false;
15 
16  // Only is used if UseLastLayer is false
17  public string TargetSortingLayerName = "Default";
18 
19  [SerializeField]
20  private Renderer[] renderers;
21 
22  private void Start()
23  {
24  if (renderers == null || renderers.Length == 0)
25  {
26  renderers = GetComponentsInChildren<Renderer>();
27  }
28 
29  if (UseLastLayer && SortingLayer.layers.Length > 0)
30  {
31  var lastSortingLayer = SortingLayer.layers[SortingLayer.layers.Length - 1];
32  TargetSortingLayerName = lastSortingLayer.name;
33  }
34 
35  // Set sorting layer name in each child renderer
36  foreach (var componentRenderer in renderers)
37  {
38  componentRenderer.sortingLayerName = TargetSortingLayerName;
39  }
40  }
41  }
42 }
Overrides the sorting layer of all renderers and child renderers