void Start()
    {
        volumeCollider           = GetComponent <Collider>();
        volumeCollider.isTrigger = true;

        if (GameObject.Find("Height Fog Global") != null)
        {
            GameObject globalFogGO = GameObject.Find("Height Fog Global");
            globalFog = globalFogGO.GetComponent <HeightFogGlobal>();

            // Fix override Diectional and Noise blending
            // Upgrade from v0.9.0 to v1.0.0
            if (upgradedTo100 == false)
            {
                directionalMode = globalFog.directionalMode;
                noiseMode       = globalFog.noiseMode;

                upgradedTo100 = true;
            }

            messageNoHeightFogGlobal = false;
        }
        else
        {
            messageNoHeightFogGlobal = true;
        }

        localMaterial      = new Material(Shader.Find("BOXOPHOBIC/Atmospherics/Height Fog Preset"));
        localMaterial.name = "Local";

        SetLocalMaterial();
    }
    void SetPresetToScript()
    {
        fogIntensity = fogPreset.GetFloat("_FogIntensity");

        if (fogPreset.GetInt("_FogAxisMode") == 0)
        {
            fogAxisMode = FogAxisMode.XAxis;
        }
        else if (fogPreset.GetInt("_FogAxisMode") == 1)
        {
            fogAxisMode = FogAxisMode.YAxis;
        }
        else if (fogPreset.GetInt("_FogAxisMode") == 2)
        {
            fogAxisMode = FogAxisMode.ZAxis;
        }

        fogColor         = fogPreset.GetColor("_FogColor");
        fogDistanceStart = fogPreset.GetFloat("_FogDistanceStart");
        fogDistanceEnd   = fogPreset.GetFloat("_FogDistanceEnd");
        fogHeightStart   = fogPreset.GetFloat("_FogHeightStart");
        fogHeightEnd     = fogPreset.GetFloat("_FogHeightEnd");

        skyboxFogHeight = fogPreset.GetFloat("_SkyboxFogHeight");
        skyboxFogFill   = fogPreset.GetFloat("_SkyboxFogFill");

        directionalColor     = fogPreset.GetColor("_DirectionalColor");
        directionalIntensity = fogPreset.GetFloat("_DirectionalIntensity");

        noiseIntensity   = fogPreset.GetFloat("_NoiseIntensity");
        noiseDistanceEnd = fogPreset.GetFloat("_NoiseDistanceEnd");
        noiseScale       = fogPreset.GetFloat("_NoiseScale");
        noiseSpeed       = fogPreset.GetVector("_NoiseSpeed");

        if (fogPreset.GetInt("_DirectionalMode") == 1)
        {
            directionalMode = FogDirectionalMode.On;
        }
        else
        {
            directionalMode = FogDirectionalMode.Off;
        }

        if (fogPreset.GetInt("_NoiseMode") == 2)
        {
            noiseMode = FogNoiseMode.Procedural3D;
        }
        else
        {
            noiseMode = FogNoiseMode.Off;
        }
    }