public void CalculateRegionOutline(float squareSize, AnimationCurve heightCurve = null, float heightMultiplier = 0, float[,] noiseMap = null, float[,] fallofMap = null) { GameObject newObject = new GameObject(); MeshGenerator newMeshGen = newObject.AddComponent <MeshGenerator>(); MeshFilter newMeshFilter = newObject.AddComponent <MeshFilter>(); newMeshGen.GenerateMesh(CaculatedRegionMap(), squareSize, newMeshFilter, heightCurve, heightMultiplier, noiseMap, fallofMap); outlinePosList = newMeshGen.CalculateMeshOutlinePos(); UnityEngine.Object.Destroy(newObject); }
public void CreateRegionMesh(Transform parent, float squareSize, Color color, AnimationCurve heightCurve = null, float heightMultiplier = 0, float[,] noiseMap = null, float[,] fallofMap = null) { regionObject = new GameObject(); meshGen = regionObject.AddComponent <MeshGenerator>(); meshFilter = regionObject.AddComponent <MeshFilter>(); MeshRenderer meshRenderer = regionObject.AddComponent <MeshRenderer>(); meshRenderer.material.color = color; regionObject.transform.parent = parent.transform; meshGen.GenerateMesh(CaculatedRegionMap(), squareSize, meshFilter, heightCurve, heightMultiplier, noiseMap, fallofMap); outlinePosList = meshGen.CalculateMeshOutlinePos(); regionObject.AddComponent <MeshCollider>(); regionObject.GetComponent <MeshCollider>().sharedMesh = meshFilter.mesh; }