Exemple #1
0
 //Delegate function for each chunk in the GetChunksInCube
 public void ForEachChunk(int x, int y, int z, Vector3 worldPosition, MarchingCubesTerrainScript.ChunkData chunk)
 {
     terrainScript.GenerateChunk(x, y, z, true, false);
     terrainScript.SetChunkVisibility(x, y, z, true);
     MarchingCubesTerrainScript.ChunkData _chunk = terrainScript.GetChunk(x, y, z);
     loadedChunks.Add(loadedChunks.Count, _chunk);
 }
Exemple #2
0
    //Callback method from the GetChunksInCube
    public void ForEachChunk(int x, int y, int z, Vector3 worldPosition, MarchingCubesTerrainScript.ChunkData chunk)
    {
        if (!addDensity)
        {
            return;
        }
        switch (brushType)
        {
        case MarchingCubesEditorBrushType.SPHERE:
        {
            terrainScript.EditChunkDensitiesSphereBrush(x, y, z, hitPoint, brushSize, brushStrengh * (invertBrush ? -1 : 1));        //Paint densities using the sphere brush
            break;
        }

        case MarchingCubesEditorBrushType.CUBE:
        {
            terrainScript.EditChunkDensitiesCubeBrush(x, y, z, hitPoint, brushSize, brushStrengh * (invertBrush ? -1 : 1));        //Paint densities using the cube brush
            break;
        }

        default: break;
        }
        Debug.DrawRay(worldPosition, Vector3.up / 2);
    }