Esempio n. 1
0
    public float CalculateUnscaledElevation(Vector3 pos)
    {
        if (mSetting == null)
        {
            return(0f);
        }

        float firstLayerValue = 0f;
        float elevation       = 0f;

        if (mSetting.PlanetNoises != null)
        {
            mNoise.Initialize(mSetting.PlanetNoises[0].Noise);
            firstLayerValue = mNoise.Evaluate(pos);
            if (mSetting.PlanetNoises[0].Enabled)
            {
                elevation = firstLayerValue;
            }

            for (int i = 1; i < mSetting.PlanetNoises.Length; ++i)
            {
                if (mSetting.PlanetNoises[i] == null)
                {
                    continue;
                }
                if (mSetting.PlanetNoises[i].Enabled == false)
                {
                    continue;
                }

                mNoise.Initialize(mSetting.PlanetNoises[i].Noise);

                float mask = mSetting.PlanetNoises[i].UseFirstLayerAsMask ? firstLayerValue : 1f;
                elevation += mNoise.Evaluate(pos) * mask;
            }
        }

        mValueMinMax.AddValue(elevation);

        return(elevation);
    }
Esempio n. 2
0
    public void Initialize(PlanetColorSetting _setting)
    {
        mColorSetting = _setting;

        mNoise.Initialize(mColorSetting == null ? null : mColorSetting.Noise);
    }