From 60af4a8916d88eef82c8c602abbc716b43707f4e Mon Sep 17 00:00:00 2001 From: Ezequiel Calderara Date: Sat, 16 Oct 2021 10:54:46 -0300 Subject: [PATCH] Update mesh collider mesh --- .../Infinite Terrain/Scripts/Core/TerrainGenerator.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Assets/Infinite Terrain/Scripts/Core/TerrainGenerator.cs b/Assets/Infinite Terrain/Scripts/Core/TerrainGenerator.cs index 9c3addc..2728778 100644 --- a/Assets/Infinite Terrain/Scripts/Core/TerrainGenerator.cs +++ b/Assets/Infinite Terrain/Scripts/Core/TerrainGenerator.cs @@ -98,13 +98,17 @@ private Tile GenerateTile(int x, int z) // Fix for tiling float tiling = singlePlaneSize / 20f; - plane.GetComponent().material.SetTextureScale("_MainTex", new Vector2(tiling, tiling)); + Renderer renderer = plane.GetComponent(); + MeshFilter filter = plane.GetComponent(); + MeshCollider collider = plane.AddComponent(); + + renderer.material.SetTextureScale("_MainTex", new Vector2(tiling, tiling)); plane.transform.localScale = new Vector3(planeSize * 0.1f, 1, planeSize * 0.1f); plane.transform.parent = transform; // Get the planes vertices - Mesh mesh = plane.GetComponent().mesh; + Mesh mesh = filter.mesh; Vector3[] vertices = mesh.vertices; // alter vertex Y position depending on simplex noise) @@ -121,7 +125,8 @@ private Tile GenerateTile(int x, int z) mesh.RecalculateBounds(); mesh.RecalculateNormals(); - plane.AddComponent(); + collider.sharedMesh = null; + collider.sharedMesh = mesh; Tile tile = new Tile(); tile.gameObject = plane;