private void SetupLOD(ref LOD lod, out bool hasSkinnedMeshes) { //Check has no renderers if (lod.renderers == null || lod.renderers.Length == 0) { hasSkinnedMeshes = false; return; } else { //Check if uses static renderers hasSkinnedMeshes = false; for (int i = 0; i < lod.renderers.Length; i++) { if (!hasSkinnedMeshes && lod.renderers[i] is SkinnedMeshRenderer) { hasSkinnedMeshes = true; } AnimatorLODRenderer LODRenderer = lod.renderers[i].gameObject.GetComponent <AnimatorLODRenderer>(); if (LODRenderer == null) { LODRenderer = lod.renderers[i].gameObject.AddComponent <AnimatorLODRenderer>(); } LODRenderer._renderer = lod.renderers[i]; LODRenderer._animatorLOD = this; } } }
private int GetLODLevel(AnimatorLODRenderer renderer) { for (int i = 0; i < _LODs.Length; i++) { for (int j = 0; j < _LODs[i].renderers.Length; j++) { if (_LODs[i].renderers[j] == renderer._renderer) { return(i); } } } return(-1); }