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; }
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() ; }