質問編集履歴
1
スクリプトの修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -50,8 +50,6 @@
|
|
|
50
50
|
|
|
51
51
|
MapData HeightData;
|
|
52
52
|
|
|
53
|
-
private List<Mesh> meshes = new List<Mesh>();
|
|
54
|
-
|
|
55
53
|
// Use this for initialization
|
|
56
54
|
void Start()
|
|
57
55
|
{
|
|
@@ -60,11 +58,24 @@
|
|
|
60
58
|
CreateTiles();
|
|
61
59
|
GenerateMesh();
|
|
62
60
|
|
|
63
|
-
|
|
61
|
+
var meshs = CombineMeshes(new List<Mesh> { mesh });
|
|
64
|
-
|
|
62
|
+
GetComponent<MeshFilter>().mesh = meshs;
|
|
65
|
-
|
|
63
|
+
var renderer = GetComponent<MeshRenderer>();
|
|
66
|
-
|
|
64
|
+
renderer.material = material;
|
|
65
|
+
}
|
|
67
66
|
|
|
67
|
+
private Mesh CombineMeshes(List<Mesh> meshes)
|
|
68
|
+
{
|
|
69
|
+
var combine = new CombineInstance[125000];
|
|
70
|
+
for (int i = 0; i < meshes.Count; i++)
|
|
71
|
+
{
|
|
72
|
+
combine[i].mesh = meshes[i];
|
|
73
|
+
combine[i].transform = transform.localToWorldMatrix;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
Mesh newMesh = new Mesh();
|
|
77
|
+
newMesh.CombineMeshes(combine);
|
|
78
|
+
return mesh;
|
|
68
79
|
}
|
|
69
80
|
|
|
70
81
|
// Update is called once per frame
|
|
@@ -199,8 +210,6 @@
|
|
|
199
210
|
mesh.uv = data.UVs.ToArray();
|
|
200
211
|
mesh.RecalculateNormals();
|
|
201
212
|
mesh.RecalculateBounds();
|
|
202
|
-
|
|
203
|
-
meshes.Add(mesh);
|
|
204
213
|
}
|
|
205
214
|
}
|
|
206
215
|
}
|