Beispiel #1
0
        public void Init(INoiseMaker noisemaker, IWorld world)
        {
            m_World      = world;
            m_NoiseMaker = noisemaker;

            Debug.Log(m_NoiseFrequency);
        }
Beispiel #2
0
        void Start()
        {
            NoiseMaker = new NoiseMaker(S.Seed);
            Random     = new System.Random(S.Seed);

            ChunkCache.Update(Position, Radius);
            StartCoroutine(InitializeCoroutine());
        }
        public void MakeTexture()
        {
            hashMaker  = new HashMakerBase(seed);
            noiseMaker = new PerlinNoiseMaker(hashMaker);

            m_tex = new Texture2D(m_Width, m_Height);

            float noise;

            for (int i = 0; i < m_Width; ++i)
            {
                for (int j = 0; j < m_Height; ++j)
                {
                    noise = noiseMaker.MakeOctave_2D(new Vector2(i + Offset.x, j + Offset.y), m_Frequency, 1, m_Ocatave);

                    Debug.Assert(noise > 0 && noise < 1);

                    if (noise > 0 && noise < 0.2)
                    {
                        m_tex.SetPixel(i, j, Color.yellow);
                    }
                    else if (noise > 0.2 && noise < 0.4)
                    {
                        m_tex.SetPixel(i, j, Color.blue);
                    }
                    else if (noise > 0.4 && noise < 0.6)
                    {
                        m_tex.SetPixel(i, j, Color.green);
                    }
                    else if (noise > 0.6 && noise < 0.8)
                    {
                        m_tex.SetPixel(i, j, Color.yellow);
                    }
                    else if (noise > 0.8 && noise < 0.99)
                    {
                        m_tex.SetPixel(i, j, Color.white);
                    }
                    else
                    {
                        m_tex.SetPixel(i, j, Color.yellow);
                    }
                }
            }
            //m_tex.SetPixel(0, 0, Color.black);

            Debug.Log(m_tex.GetPixel(0, 0));
            m_tex.Apply();
            m_renderer.material.mainTexture = m_tex;
        }
Beispiel #4
0
        public void GenerateNormal(Biome _Biome, INoiseMaker _NoiseMaker, int octave)
        {
            int i, j;

            for (i = 0; i < Width; ++i)
            {
                for (j = 0; j < Depth; ++j)
                {
                    //Calculate Height
                    m_MapData[i, j].Height = _Biome.GetHeight(new Vector2Int(i + PivotLB.x, j + PivotLB.y), _NoiseMaker, octave);    //Height

                    //Assign layer Data
                    m_MapData[i, j].Layer = _Biome.Layer;

                    Debug.Assert(m_MapData[i, j].Layer != null);

                    //Save Max and Min Altitude of This Chunk
                    MaxAltitude = Math.Max(MaxAltitude, m_MapData[i, j].Height);
                    MinAltitude = Math.Min(MinAltitude, m_MapData[i, j].Height);
                }
            }
        }
 public int GetHeight(Vector2Int vector2Int, INoiseMaker noiseMaker, int octave)
 {
     return((int)noiseMaker.MakeOctave_2D(vector2Int /*coord*/, m_Frequency
                                          , m_HighestAltitude - m_LowestAltitude, octave) + m_LowestAltitude); //Height
 }
        public void Init()
        {
            m_NoiseMaker = Locator <INoiseMaker> .GetService();

            m_World = Locator <IWorld> .GetService();
        }