Exemplo n.º 1
0
        void Integrate()
        {
            if (m_root == null)
            {
                Debug.LogWarning("no root object");
                return;
            }

            var renderer = MeshIntegrator.Integrate(m_root);

            if (renderer == null)
            {
                return;
            }

            integrated = renderer.sharedMesh;
        }
Exemplo n.º 2
0
        void OnValidate()
        {
            Debug.Log("OnValidate");
            if (m_root == null)
            {
                m_uniqueMaterials    = new Material[] { };
                m_duplicateMaterials = new MaterialList[] { };
                return;
            }

            m_uniqueMaterials = MeshIntegrator.EnumerateRenderer(m_root.transform, false)
                                .SelectMany(x => x.sharedMaterials)
                                .Distinct()
                                .ToArray();

            m_duplicateMaterials = m_uniqueMaterials
                                   .GroupBy(x => GetMaterialKey(x), x => x)
                                   .Select(x => new MaterialList(x.ToArray()))
                                   .Where(x => x.Materials.Length > 1)
                                   .ToArray()
            ;
        }