Пример #1
0
        void Awake()
        {
            renderers = new List <RendererPair>();
            Transform dParent = new GameObject(name + " (Dynamic)").transform;

            dParent.SetParent(transform.parent);

            foreach (MeshRenderer sRenderer in gameObject.GetComponents <MeshRenderer>(-1, true))
            {
                Transform sObject = sRenderer.transform;
                Transform dObject = new GameObject(sRenderer.name + " (Dynamic)").transform;

                dObject.CloneValues(sObject, dParent);

                MeshFilter sFilter = sRenderer.GetComponent <MeshFilter>();
                dObject.gameObject.AddComponent <MeshFilter>().mesh = sFilter.sharedMesh;

                MeshRenderer dRenderer = dObject.gameObject.AddComponent <MeshRenderer>();
                dRenderer.materials = sRenderer.materials;
                dRenderer.CopyLightMapSettings(sRenderer);

                renderers.Add(new RendererPair {
                    s = sRenderer,
                    d = dRenderer,
                });
            }
        }