static private GameObject CreateMerged(string name, MeshFilter[] meshFilters, Material[] materials, int layer, bool receiveShadow, ShadowCastingMode shadowCasting) { GameObject go = new GameObject(name); go.layer = layer; var renderer = go.AddComponent <MeshRenderer>(); renderer.sharedMaterials = materials; renderer.receiveShadows = receiveShadow; renderer.shadowCastingMode = shadowCasting; Mesh mesh = new Mesh(); var combinationBuilder = new MeshCombinationBuilder(); combinationBuilder.Init(meshFilters); combinationBuilder.Start(); combinationBuilder.Complete(mesh); combinationBuilder.Dispose(); var meshFilter = go.AddComponent <MeshFilter>(); meshFilter.sharedMesh = mesh; return(go); }
protected override void EndGeneration(Mesh mesh) { combinationBuilder.Complete(mesh); }