Ejemplo n.º 1
0
        public override void Unpack(string[] keywords)
        {
            clusterMode = ClusterMode.None;
            if (HasFeature(keywords, DefineFeature._TEXTURECLUSTER2))
            {
                clusterMode = ClusterMode.TwoVariants;
            }
            else if (HasFeature(keywords, DefineFeature._TEXTURECLUSTER3))
            {
                clusterMode = ClusterMode.ThreeVariants;
            }
            else if (HasFeature(keywords, DefineFeature._STOCHASTIC))
            {
                clusterMode      = ClusterMode.Stochastic;
                perTexStochastic = HasFeature(keywords, DefineFeature._PERTEXSTOCHASTIC);
            }

            if (clusterMode != ClusterMode.None)
            {
                clusterNoiseUV        = HasFeature(keywords, DefineFeature._TEXTURECLUSTERTRIPLANARNOISE) ? ClusterNoiseUV.Triplanar : ClusterNoiseUV.UV;
                perTexClusterContrast = HasFeature(keywords, DefineFeature._PERTEXCLUSTERCONTRAST);
                perTexClusterBoost    = HasFeature(keywords, DefineFeature._PERTEXCLUSTERBOOST);
                secondNoise           = HasFeature(keywords, DefineFeature._TEXTURECLUSTERNOISE2);
            }
        }
Ejemplo n.º 2
0
 public override void DrawFeatureGUI(Material mat)
 {
     clusterMode = (ClusterMode)EditorGUILayout.EnumPopup(CShaderClusters, clusterMode);
     if (clusterMode != ClusterMode.None && clusterMode != ClusterMode.Stochastic)
     {
         EditorGUI.indentLevel++;
         clusterNoiseUV = (ClusterNoiseUV)EditorGUILayout.EnumPopup(CClusterNoiseUVs, clusterNoiseUV);
         secondNoise    = EditorGUILayout.Toggle(CClusterNoise2, secondNoise);
         EditorGUI.indentLevel--;
     }
 }