/// <summary>
/// 创建一个含倍频的柏林噪声
/// </summary>
/// <param name="x">x坐标</param>
/// <param name="y">y坐标</param>
/// <param name="octaves">倍频</param>
/// <param name="persistence">振幅系数</param>
/// <param name="scale">噪声选取范围</param>
/// <returns></returns>
public static float CreatOctavePerlin(int x,int y, int octaves, float persistence, float scale)
{
float sumOctaves = 0; //用于计算每次倍频的噪声和
float frequency = 1; //频率
float amplitude = 1; //振幅
for (int i = 0; i < octaves; i++)
{
sumOctaves += Mathf.PerlinNoise(x * frequency * scale / 100f, y * frequency * scale / 100f) * amplitude;
amplitude *= persistence;
frequency *= 2;
}
return sumOctaves;
}
带倍频的柏林噪声函数
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。