A game about forced loneliness, made by TACStudios
1using System.Collections.Generic;
2using UnityEngine;
3using System;
4using UnityEngine.Experimental.Rendering;
5
6namespace UnityEditor.Rendering
7{
8 /// <summary>
9 /// Material upgrader and relevant utilities for SpeedTree 9.
10 /// </summary>
11 public class SpeedTree9MaterialUpgrader : MaterialUpgrader
12 {
13 /// <summary>
14 /// Postprocesses materials while you are importing a SpeedTree 9 asset. Call from OnPostprocessSpeedTree in a MaterialPostprocessor.
15 /// </summary>
16 /// <param name="speedtree">The GameObject Unity creates from this imported SpeedTree.</param>
17 /// <param name="finalizer">Render pipeline-specific material finalizer.</param>
18 protected static void PostprocessSpeedTree9Materials(GameObject speedtree, MaterialFinalizer finalizer = null)
19 {
20 LODGroup lg = speedtree.GetComponent<LODGroup>();
21 LOD[] lods = lg.GetLODs();
22 for (int l = 0; l < lods.Length; l++)
23 {
24 LOD lod = lods[l];
25 foreach (Renderer r in lod.renderers)
26 {
27 foreach (Material m in r.sharedMaterials)
28 {
29 if (m == null)
30 continue;
31
32 if (finalizer != null)
33 finalizer(m);
34 }
35 }
36 }
37 }
38 }
39}