예제 #1
0
    void OnEnable()
    {
        FogVolumeScreen _target       = (FogVolumeScreen)target;
        List <string>   layerMaskList = new List <string>();

        for (int i = 0; i < 32; i++)
        {
            string layerName = LayerMask.LayerToName(i);
            if (layerName != "")
            {
                if (layerName == _target.FogVolumeLayerName)
                {
                    layerMaskNameIndex = layerMaskList.Count;
                }
                layerMaskList.Add(layerName);
            }
        }
        layerMaskName = layerMaskList.ToArray();
    }
예제 #2
0
        public static void GX_Quality_High()
        {
            //What about ground fog and cloud settings ?

            //Update renderer settings
            FogVolumeRenderer fvRenderer = GameObject.FindObjectOfType <FogVolumeRenderer>();

            if (fvRenderer != null)
            {
                fvRenderer._Downsample = 2;
            }

            //Update screen settings
            FogVolumeScreen fvScreen = GameObject.FindObjectOfType <FogVolumeScreen>();

            if (fvScreen != null)
            {
            }
        }
예제 #3
0
    public override void OnInspectorGUI()
    {
        FogVolumeScreen _target = (FogVolumeScreen)target;


        GUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Density layer");
        int newLayerMaskNameIndex = EditorGUILayout.Popup(layerMaskNameIndex, layerMaskName);

        if (newLayerMaskNameIndex != layerMaskNameIndex)
        {
            layerMaskNameIndex         = newLayerMaskNameIndex;
            _target.FogVolumeLayerName = layerMaskName[layerMaskNameIndex];
        }
        GUILayout.EndHorizontal();
        // Draw the default inspector
        DrawDefaultInspector();
        EditorGUILayout.HelpBox("Work in progress!", MessageType.None);
        EditorUtility.SetDirty(target);
    }
예제 #4
0
        public static void GX_Quality_Low()
        {
            //What about ground fog and cloud settings ?
            GameObject goGroundFog = GameObject.Find("Fog Volume [Ground Fog]");

            if (goGroundFog != null)
            {
                FogVolume fvGroundFog = goGroundFog.GetComponent <FogVolume>();
                if (fvGroundFog != null)
                {
                    //Make adjustments
                }
            }
            GameObject goClouds = GameObject.Find("Fog Volume [Clouds]");

            if (goClouds != null)
            {
                FogVolume fvClouds = goClouds.GetComponent <FogVolume>();
                if (fvClouds != null)
                {
                    //Make adjustments
                }
            }

            //Update renderer settings
            FogVolumeRenderer fvRenderer = GameObject.FindObjectOfType <FogVolumeRenderer>();

            if (fvRenderer != null)
            {
                fvRenderer._Downsample = 8;
                fvRenderer._BlendMode  = FogVolumeRenderer.BlendMode.PremultipliedTransparency;
            }

            //Update screen settings
            FogVolumeScreen fvScreen = GameObject.FindObjectOfType <FogVolumeScreen>();

            if (fvScreen != null)
            {
            }
        }
예제 #5
0
        public static void GX_Setup_AddPostEffects()
        {
            //Update renderer settings to dampen things down a bit for newcomers
            FogVolumeRenderer fvRenderer = GameObject.FindObjectOfType <FogVolumeRenderer>();

            if (fvRenderer != null)
            {
                fvRenderer._Downsample   = 3;
                fvRenderer._BlendMode    = FogVolumeRenderer.BlendMode.PremultipliedTransparency;
                fvRenderer.GenerateDepth = false;
            }

            //Add screen if missing
            FogVolumeScreen fvScreen = GameObject.FindObjectOfType <FogVolumeScreen>();

            if (fvScreen == null && Camera.main != null)
            {
                fvScreen            = Camera.main.gameObject.AddComponent <FogVolumeScreen>();
                fvScreen.Downsample = 3;
                fvScreen.iterations = 3;
                fvScreen.blurSpread = 0.2f;
            }
        }