You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/Feel/MMTools/Tools/MMProcedural/MMGridGenerators/MMGridGeneratorPerlinNoise.cs

35 lines
1015 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = System.Random;
namespace MoreMountains.Tools
{
/// <summary>
/// Generates a grid of the specified size based on a seeded perlin noise, the smaller the seed, the blockier the grid
/// </summary>
public class MMGridGeneratorPerlinNoise : MMGridGenerator
{
/// <summary>
/// Generates a grid of the specified size based on a seeded perlin noise, the smaller the seed, the blockier the grid
/// </summary>
/// <param name="width"></param>
/// <param name="height"></param>
/// <param name="seed"></param>
/// <returns></returns>
public static int[,] Generate(int width, int height, float seed)
{
int[,] grid = PrepareGrid(ref width, ref height);
for (int i = 0; i < width; i++)
{
for (int j = 0; j < height; j++)
{
int value = Mathf.RoundToInt(Mathf.PerlinNoise(i * seed, j * seed));
SetGridCoordinate(grid, i, j, value);
}
}
return grid;
}
}
}