Пример #1
0
    // - 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;
        }
    }
Пример #2
0
    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;
    }
Пример #3
0
 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));
 }