// - Update - void Update() { if (Input.GetKeyDown(KeyCode.Space) || (autoUdpate && (noisePerformanceTestLoopTimes != lastNoisePerformanceTestLoopTimes || noiseSource != lastNoiseSource || seed != lastSeed || octaves != lastOctaves || frequency != lastFrequency || amplitude != lastAmplitude || persistance != lastPersistance || lacunarity != lastLacunarity || maxNoiseHeight != lastMaxNoiseHeight || offset != lastOffset || noiseScale != lastNoiseScale || zoom != lastZoom || noiseResolution != lastNoiseResolution || gridSize != lastGridSize || lastUseRenderTextureForDrawingTexture != useRenderTextureForDrawingTexture || side != lastSide || quarter != lastQuarter || enableHeight != lastEnableHeight))) { if (noiseSource != Noise.NoiseSource.GPU_RenderTexture) { DrawNoiseToPlane(); } else { DrawNoiseToPlaneGPURenderTexture(); } //if (lastNoiseResolution != noiseResolution) { if (lastGridSize != gridSize) { SetMeshGrid(gridSize); originalVertices = (Vector3[])mf.mesh.vertices.Clone(); } if (enableHeight) { AddHeightToPlane(); } else { ClearPlaneHeight(); } lastNoisePerformanceTestLoopTimes = noisePerformanceTestLoopTimes; lastNoiseSource = noiseSource; lastSeed = seed; lastOctaves = octaves; lastFrequency = frequency; lastAmplitude = amplitude; lastPersistance = persistance; lastLacunarity = lacunarity; lastMaxNoiseHeight = maxNoiseHeight; lastOffset = offset; lastNoiseScale = noiseScale; lastZoom = zoom; lastNoiseResolution = noiseResolution; lastGridSize = gridSize; lastSide = side; lastQuarter = quarter; lastEnableHeight = enableHeight; lastUseRenderTextureForDrawingTexture = useRenderTextureForDrawingTexture; } }
GPUNoiseGenerator.NoiseResolution noiseResolution; // ja tääkin pitäis osata valita ittesä automaattisesti // - PLANET DATA - public PlanetData(string name, float planetSize, Material material, AnimationCurve meshHeightCurve, TerrainType[] regions, Gradient gradient, float terrainMeshHeightMultiplier, float noiseScale, Renderer noiseTaulu, int octaves, GPUNoiseGenerator.NoiseResolution noiseResolution, bool hasAtmosphere) { this.name = name; this.seed = 1; this.planetSize = planetSize; this.noiseScale = noiseScale; this.offset = Vector2.zero; this.terrainMeshHeightMultiplier = terrainMeshHeightMultiplier; this.planetMaterial = material; biomes = new Biome[5]; biomes[0] = new Biome("pinta", regions, meshHeightCurve); // TODO: biomes this.gradient = gradient; this.noiseTaulu = noiseTaulu; this.octaves = octaves; this.noiseResolution = noiseResolution; this.hasAtmosphere = hasAtmosphere; }
public static PlanetData GeneratePlanet(string name, float planetSize, Material material, AnimationCurve meshHeightCurve, TerrainType[] regions, Gradient gradient, float terrainMeshHeightMultiplier, float noiseScale, Renderer noiseTaulu, int octaves, GPUNoiseGenerator.NoiseResolution noiseResolution, bool hasAtmosphere) { return(new PlanetData(name, planetSize, material, meshHeightCurve, regions, gradient, terrainMeshHeightMultiplier, noiseScale, noiseTaulu, octaves, noiseResolution, hasAtmosphere)); }