Пример #1
0
        private Mesh GenerateTerrain()
        {
            var quadMesh = QuadMesh.CreatePlane(Dimensions, new IntVector2(SubdivisionsX, SubdivisionsY));

            quadMesh.ForEachQuad((quad, index) => {
                float height = GenerateHeight(quad.vertices[0].x, quad.vertices[0].z);

                if (height == 0.0f)
                {
                    return;
                }
                quadMesh.Extrude(index, quad.Normal, height);
            });

            quadMesh.Optimize();
            return(quadMesh.ToMesh(!FlatShading, ConvertToTris));
        }
Пример #2
0
        private QuadMesh GenerateTerrain(Vector2 center, Vector2 dimensions)
        {
            var quadMesh = QuadMesh.CreatePlane(dimensions, new IntVector2(SubdivisionsX, SubdivisionsY));

            quadMesh.ForEachQuad((quad, index) => {
                float height = GenerateHeight(center, quad.vertices[0].x, quad.vertices[0].z);

                if (height == 0.0f)
                {
                    return;
                }
                quadMesh.Extrude(index, quad.Normal, height);
            });

            quadMesh.Optimize();
            return(quadMesh);
        }