Пример #1
0
            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;
                    }
                }
            }
Пример #2
0
            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);
            }