using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif [ExecuteInEditMode] public class AddLODToChildren : MonoBehaviour { void Awake() { #if UNITY_EDITOR if (!EditorApplication.isPlaying) { AddLODComponents(); } #else AddLODComponents(); #endif } void AddLODComponents() { Transform[] children = GetComponentsInChildren(true); foreach (Transform child in children) { if (child == transform) { continue; } if (child.GetComponent() == null) { Undo.AddComponent(child.gameObject); MeshRenderer meshRenderer = child.GetComponent(); if (meshRenderer != null) { LODGroup lodGroup = child.GetComponent(); LOD[] lods = new LOD[1]; lods[0] = new LOD(0.01f, new Renderer[] { meshRenderer }); lodGroup.SetLODs(lods); lodGroup.RecalculateBounds(); } } } } }