private void OnEnable() { noiseSettings = new PerlinNoiseTextureSettings() { resolution = new Vector2Int(256, 256), offset = new Vector2(0.0f, 0.0f), frequency = 5.0f, }; // create the preview with the default settings when the window is opened CreateTexture(true); }
private void OnEnable() { noiseSettings = new PerlinNoiseTextureSettings() { resolution = new Vector2Int(256, 256), offset = new Vector2(0.0f, 0.0f), frequency = 1.0f, octaves = 6, persistence = 0.5f, lacunarity = 2.0f, }; CreateTexture(true); }
public static void FillTextureWithPerlin2D(Texture2D tex, PerlinNoiseTextureSettings noiseSettings) { NativeArray <byte> texels = tex.GetRawTextureData <byte>(); new FillTexelsPerlin2D() { texels = texels, resolution = new int2(noiseSettings.resolution.x, noiseSettings.resolution.y), offset = new float2(noiseSettings.offset.y, noiseSettings.offset.x), frequency = noiseSettings.frequency / FrequencyEaseOfUseFactor, octaves = noiseSettings.octaves, persistence = noiseSettings.persistence, lacunarity = noiseSettings.lacunarity, } .ScheduleParallel(texels.Length, 64, default(JobHandle)) .Complete(); tex.Apply(); }
public static Color32[] Perlin2DColors(PerlinNoiseTextureSettings noiseSettings) { int numTexels = noiseSettings.GetNumTexels(); NativeArray <Color32> texels = new NativeArray <Color32>(numTexels, Allocator.TempJob, NativeArrayOptions.UninitializedMemory); new Perlin2DFillTexelsJob() { texels = texels, resolution = new int2(noiseSettings.resolution.x, noiseSettings.resolution.y), offset = (float2)noiseSettings.offset, frequency = new float2(noiseSettings.frequency, noiseSettings.frequency), } .ScheduleParallel(numTexels, 64, default(JobHandle)) .Complete(); Color32[] texelsArray = texels.ToArray(); texels.Dispose(); return(texelsArray); }