GetTexture() public method

Creates a grayscale texture map for the current content of the noise map.
public GetTexture ( ) : Texture2D
return UnityEngine.Texture2D
Beispiel #1
0
    public void GenerateHeightMap()
    {
        var perlin = new LibNoise.Unity.Generator.Perlin(Frequency, Lacunarity, Persistence, Octaves, Seed, LibNoise.Unity.QualityMode.High);
        //var ridged = new LibNoise.Unity.Generator.RidgedMultifractal(Frequency, Lacunarity, Octaves, Seed, LibNoise.Unity.QualityMode.Medium);
        //var turb = new LibNoise.Unity.Operator.Turbulence(0.25, perlin);
        //var layered = new LibNoise.Unity.Operator.Multiply(perlin, ridged);
        //var
        var scaled = new LibNoise.Unity.Operator.ScaleBias(Scaling, ScaleBias, perlin);
        var final = new LibNoise.Unity.Operator.Terrace(false, scaled);

        //for (float  i = 0; i < 50; i += 10)
        final.Add(0f);
        final.Add(10f);
        final.Add(100f);

        var noise = new LibNoise.Unity.Noise2D(TotalSize, final);
        noise.GeneratePlanar(ClipX, ClipX + (ClipSize * ChunksPerSide), ClipY, ClipY + (ClipSize * ChunksPerSide));

        GameObject.Destroy(HeightMap);
        HeightMap = noise.GetTexture(LibNoise.Unity.Gradient.Grayscale);
        HeightMap.Apply();

        GameObject.Destroy(NormalMap);
        NormalMap = noise.GetNormalMap(1f);
        NormalMap.Apply();

        floatMap = new float[TotalSize * TotalSize];
        for (int y = 0; y < TotalSize; y++)
            for (int x = 0; x < TotalSize; x++)
                floatMap[y * TotalSize + x] = noise[x, y];
    }
	public MakePerlin(float seed) {	

		perlin = new Texture2D (256, 256);
		ModuleBase moduleBase;
		moduleBase = new Perlin(m_frequency, m_lacunarity, m_persistence, m_octaveCount, (int)seed, m_quality);
		noiseMap = new Noise2D(perlin.width, perlin.height, moduleBase);

		float zoom = 1f; 
		float offset = 0f;
		noiseMap.GeneratePlanar(
			offset + -1 * 1/zoom, 
			offset + offset + 1 * 1/zoom, 
			offset + -1 * 1/zoom,
			offset + 1 * 1/zoom);

		perlin = noiseMap.GetTexture ();
	}