Exemple #1
0
    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);
    }
Exemple #2
0
    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;
    }