A game about forced loneliness, made by TACStudios
at master 39 lines 1.4 kB view raw
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}