Пример #1
0
        public override void Unpack(string[] keywords)
        {
            snow = HasFeature(keywords, SnowDefineFeature._SNOW) ? SnowMode.Rich : SnowMode.None;
            if (HasFeature(keywords, SnowDefineFeature._SNOWSIMPLE))
            {
                snow = SnowMode.Simple;
            }
            if (snow != SnowMode.None)
            {
                snowNormalNoise      = HasFeature(keywords, SnowDefineFeature._SNOWNORMALNOISE);
                snowDistanceResample = HasFeature(keywords, SnowDefineFeature._SNOWDISTANCERESAMPLE);
                perTexSnow           = HasFeature(keywords, SnowDefineFeature._PERTEXSNOWSTRENGTH) && snow == SnowMode.Rich;
                globalLevel          = HasFeature(keywords, SnowDefineFeature._USEGLOBALSNOWLEVEL);
                globalHeight         = HasFeature(keywords, SnowDefineFeature._USEGLOBALSNOWHEIGHT);
                snowSSS         = HasFeature(keywords, SnowDefineFeature._SNOWSSS);
                snowMask        = HasFeature(keywords, SnowDefineFeature._SNOWMASK);
                useWorldSpaceUV = HasFeature(keywords, SnowDefineFeature._SNOWWORLDSPACEUV);
                snowRim         = HasFeature(keywords, SnowDefineFeature._SNOWRIM);
                snowSparkle     = HasFeature(keywords, SnowDefineFeature._SNOWSPARKLE);

#if __MICROSPLAT_TEXTURECLUSTERS__
                snowStochastic = HasFeature(keywords, SnowDefineFeature._SNOWSTOCHASTIC);
#endif
            }
        }
Пример #2
0
        public override void DrawFeatureGUI(MicroSplatKeywords keywords)
        {
            snow = (SnowMode)EditorGUILayout.EnumPopup(CShaderSnow, snow);
            if (snow != SnowMode.None)
            {
                EditorGUI.indentLevel++;
                useWorldSpaceUV      = EditorGUILayout.Toggle(CWorldSpaceUV, useWorldSpaceUV);
                snowNormalNoise      = EditorGUILayout.Toggle(CShaderNormalNoise, snowNormalNoise);
                snowDistanceResample = EditorGUILayout.Toggle(CShaderSnowDistanceResample, snowDistanceResample);
#if __MICROSPLAT_TEXTURECLUSTERS__
                snowStochastic = EditorGUILayout.Toggle(CShaderSnowStochastic, snowStochastic);
#endif
                snowRim     = EditorGUILayout.Toggle(CSnowRim, snowRim);
                snowSSS     = EditorGUILayout.Toggle(CShaderSnowSSS, snowSSS);
                snowSparkle = EditorGUILayout.Toggle(CSnowSparkle, snowSparkle);
                snowMask    = EditorGUILayout.Toggle(CSnowMask, snowMask);
                EditorGUI.indentLevel--;
            }
        }