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); } }
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--; } }