-
Chang, Ryan authoredChang, Ryan authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Octave.cs 1.07 KiB
using System;
using System.Collections.Generic;
using Unity.Mathematics;
using UnityEngine;
[Serializable]
public enum NoiseType
{
MathfPerlin,
MathematicsPerlin,
Simplex,
Celluar
}
[Serializable]
public struct Octave
{
public float amplitude;
public float frequency;
public NoiseType type;
public Vector2 offset;
public float Calculate(float2 position)
{
float addition;
position += new float2(offset);
switch (type)
{
default:
case NoiseType.MathfPerlin:
addition = Mathf.PerlinNoise(position.x, position.y);
break;
case NoiseType.MathematicsPerlin:
addition = noise.cnoise(position) / 2.3f + 0.5f;
break;
case NoiseType.Simplex:
addition = noise.snoise(position) / 4.6f + 0.5f;
break;
case NoiseType.Celluar:
addition = noise.cellular(position).x / 2.3f + 0.5f;
break;
}
return addition * amplitude;
}
}