コード例 #1
0
    void CreateMapFloor(Rect mapRect)
    {
        Mesh floorMesh = _floor.GetComponent <MeshFilter>().mesh;

        floorMesh.Clear();

        CustomMesh floorMeshData = new CustomMesh(Mathf.CeilToInt(mapRect.width) + 250, Mathf.CeilToInt(mapRect.height) + 250, Mathf.CeilToInt((10.0f / 500.0f) * Mathf.Max(mapRect.width, mapRect.height)), borderSize);

        floorMeshData.Generate();
        floorMesh.vertices  = floorMeshData.getVertices();
        floorMesh.triangles = floorMeshData.getTriangles();
        floorMesh.uv        = floorMeshData.getUVs();

        MeshCollider floorCollider = _floor.AddComponent <MeshCollider>();

        floorCollider.sharedMesh = floorMesh;

        _floor.transform.position = new Vector3(mapRect.center.x - floorMeshData.width / 2, 0, mapRect.center.y - floorMeshData.height / 2);
    }