Пример #1
0
        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);
        }
Пример #2
0
 protected override void EndGeneration(Mesh mesh)
 {
     combinationBuilder.Complete(mesh);
 }