質問するログイン新規登録

質問編集履歴

1

スクリプトの修正

2019/07/01 16:14

投稿

退会済みユーザー
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
- MeshFilter meshFilter = GetComponent<MeshFilter>();
61
+ var meshs = CombineMeshes(new List<Mesh> { mesh });
64
- meshFilter.sharedMesh = mesh;
62
+ GetComponent<MeshFilter>().mesh = meshs;
65
- MeshRenderer meshRenderer = GetComponent<MeshRenderer>();
63
+ var renderer = GetComponent<MeshRenderer>();
66
- meshRenderer.material = material;
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
  }