diff --git a/Editor/WFEditorSetting.cs b/Editor/WFEditorSetting.cs index 8783bab4..63847e97 100644 --- a/Editor/WFEditorSetting.cs +++ b/Editor/WFEditorSetting.cs @@ -32,80 +32,86 @@ public class WFEditorSetting : ScriptableObject /// ShaderStripping を有効にする /// [Header("Shader Build Settings")] - [Tooltip("ShaderStrippingを有効にする")] public bool enableStripping = true; /// /// ShaderStripping にて未使用バリアントを削除する /// - [Tooltip("ShaderStrippingにて未使用バリアントを削除する")] public bool stripUnusedVariant = true; /// /// ShaderStripping にてFallbackシェーダを削除する /// - [Tooltip("ShaderStrippingにてFallbackシェーダを削除する")] public bool stripFallback = true; /// /// ShaderStripping にてMetaパスを削除する /// - [Tooltip("ShaderStrippingにてMetaパスを削除する")] public bool stripMetaPass = true; /// /// ShaderStripping にてLODGroupを使っていないなら対象コードを削除する /// - [Tooltip("LODGroupを使っていないならShaderStrippingにて対象コードを削除する")] public bool stripUnusedLodFade = true; /// /// ビルド時に古いマテリアルが含まれていないか検査する /// - [Tooltip("ビルド時に古いマテリアルが含まれていないか検査する")] public bool validateSceneMaterials = true; /// /// アバタービルド前にマテリアルをクリンナップする /// - [Tooltip("アバタービルド前にマテリアルをクリンナップする")] public bool cleanupMaterialsBeforeAvatarBuild = true; /// /// shaderインポート時にプロジェクトをスキャンする /// [Header("Editor Behaviour Settings")] - [Tooltip("shaderインポート時にプロジェクトをスキャンする")] public bool enableScanProjects = true; /// /// materialインポート時にマイグレーションする /// - [Tooltip("materialインポート時にマイグレーションする")] public bool enableMigrationWhenImport = true; /// /// Quest向けシーンビルド時にMobile非対応シェーダを対応シェーダに置換する /// [Header("Quest Build Support")] - [Tooltip("Quest向けシーンビルド時にMobile非対応シェーダを対応シェーダに置換する")] public bool autoSwitchQuestShader = true; - public static WFEditorSetting GetOneOfSettings() + public NearClipCancelMode enableNccInVRC3Avatar = NearClipCancelMode.ForceON; + + public NearClipCancelMode enableNccInVRC3World = NearClipCancelMode.ForceOFF; + + private static WFEditorSetting currentSettings = null; + private static int currentPriority = 0; + + public static WFEditorSetting GetOneOfSettings(bool forceReload = false) { + if (forceReload) + { + currentSettings = null; + } + if (currentSettings != null && currentSettings.settingPriority == currentPriority) + { + return currentSettings; + } + var settings = LoadAllSettingsFromAssetDatabase(); if (settings.Length == 0) { // 見つからないなら一時オブジェクトを作成して返却 - return ScriptableObject.CreateInstance(); + currentSettings = CreateInstance(); } - // Debug.LogFormat("[WF][Settings] Load Settings: {0}", AssetDatabase.GetAssetPath(settings[0])); - return settings[0]; - } - - public static WFEditorSetting[] GetAllSettings() - { - return LoadAllSettingsFromAssetDatabase(); + else + { + // Debug.LogFormat("[WF][Settings] Load Settings: {0}", AssetDatabase.GetAssetPath(settings[0])); + currentSettings = settings[0]; + } + currentPriority = currentSettings.settingPriority; + return currentSettings; } private static WFEditorSetting[] LoadAllSettingsFromAssetDatabase() @@ -122,6 +128,28 @@ private static WFEditorSetting[] LoadAllSettingsFromAssetDatabase() } } + public enum NearClipCancelMode + { + PerMaterial = -1, + ForceOFF = 0, + ForceON = 1, + } + + class WFEditorSettingReloader : AssetPostprocessor + { + public static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromPath) + { + foreach (var path in importedAssets) + { + if (string.IsNullOrWhiteSpace(path)) + continue; + if (AssetDatabase.LoadAssetAtPath(path) == null) + continue; + WFEditorSetting.GetOneOfSettings(true); + } + } + } + [CustomEditor(typeof(WFEditorSetting))] class WFEditorSettingEditor : Editor { @@ -136,6 +164,8 @@ class WFEditorSettingEditor : Editor SerializedProperty p_cleanupMaterialsBeforeAvatarBuild; SerializedProperty p_enableMigrationWhenImport; SerializedProperty p_autoSwitchQuestShader; + SerializedProperty p_enableNccInVRC3Avatar; + SerializedProperty p_enableNccInVRC3World; private void OnEnable() { @@ -157,52 +187,86 @@ private void OnEnable() // Quest Build Support this.p_autoSwitchQuestShader = serializedObject.FindProperty(nameof(WFEditorSetting.autoSwitchQuestShader)); + + // EnableNCC + this.p_enableNccInVRC3Avatar = serializedObject.FindProperty(nameof(WFEditorSetting.enableNccInVRC3Avatar)); + this.p_enableNccInVRC3World = serializedObject.FindProperty(nameof(WFEditorSetting.enableNccInVRC3World)); } public override void OnInspectorGUI() { + if (target == WFEditorSetting.GetOneOfSettings()) + { + var msg = WFI18N.Translate("WFEditorSetting", "This is the current setting used."); + EditorGUILayout.HelpBox(msg, MessageType.Info); + } + else + { + var msg = WFI18N.Translate("WFEditorSetting", "This is not the setting used now."); + EditorGUILayout.HelpBox(msg, MessageType.Warning); + } + EditorGUILayout.Space(); + serializedObject.Update(); EditorGUI.BeginChangeCheck(); // 優先度 - EditorGUILayout.PropertyField(p_settingPriority); + EditorGUILayout.PropertyField(p_settingPriority, toDisplay(p_settingPriority)); // Shader Build Settings - EditorGUILayout.PropertyField(p_enableStripping); + EditorGUILayout.PropertyField(p_enableStripping, toDisplay(p_enableStripping)); using (new EditorGUI.DisabledGroupScope(!p_enableStripping.boolValue)) using (new EditorGUI.IndentLevelScope()) { - EditorGUILayout.PropertyField(p_stripUnusedVariant); - EditorGUILayout.PropertyField(p_stripUnusedLodFade); - EditorGUILayout.PropertyField(p_stripFallback); - EditorGUILayout.PropertyField(p_stripMetaPass); + EditorGUILayout.PropertyField(p_stripUnusedVariant, toDisplay(p_stripUnusedVariant)); + EditorGUILayout.PropertyField(p_stripUnusedLodFade, toDisplay(p_stripUnusedLodFade)); + EditorGUILayout.PropertyField(p_stripFallback, toDisplay(p_stripFallback)); + EditorGUILayout.PropertyField(p_stripMetaPass, toDisplay(p_stripMetaPass)); } - EditorGUILayout.PropertyField(p_validateSceneMaterials); - EditorGUILayout.PropertyField(p_cleanupMaterialsBeforeAvatarBuild); + EditorGUILayout.PropertyField(p_validateSceneMaterials, toDisplay(p_validateSceneMaterials)); + EditorGUILayout.PropertyField(p_cleanupMaterialsBeforeAvatarBuild, toDisplay(p_cleanupMaterialsBeforeAvatarBuild)); // Editor Behaviour Settings - EditorGUILayout.PropertyField(p_enableScanProjects); - EditorGUILayout.PropertyField(p_enableMigrationWhenImport); + EditorGUILayout.PropertyField(p_enableScanProjects, toDisplay(p_enableScanProjects)); + EditorGUILayout.PropertyField(p_enableMigrationWhenImport, toDisplay(p_enableMigrationWhenImport)); // Quest Build Support - EditorGUILayout.PropertyField(p_autoSwitchQuestShader); - - if (EditorGUI.EndChangeCheck()) - { - serializedObject.ApplyModifiedProperties(); - } + EditorGUILayout.PropertyField(p_autoSwitchQuestShader, toDisplay(p_autoSwitchQuestShader)); // Common Material Settings EditorGUILayout.Space(); GUI.Label(EditorGUILayout.GetControlRect(), "Common Material Settings", EditorStyles.boldLabel); + EditorGUILayout.LabelField(WFI18N.Translate("WFEditorSetting", "Cancel Near Clipping")); + using (new EditorGUI.IndentLevelScope()) + { + EditorGUILayout.PropertyField(p_enableNccInVRC3Avatar, new GUIContent("For VRCSDK3 Avatar")); + EditorGUILayout.PropertyField(p_enableNccInVRC3World, new GUIContent("For VRCSDK3 World")); + } + + if (EditorGUI.EndChangeCheck()) + { + serializedObject.ApplyModifiedProperties(); + } + WFEditorPrefs.LangMode = (EditorLanguage)EditorGUILayout.EnumPopup("Editor language", WFEditorPrefs.LangMode); } + + private GUIContent toDisplay(SerializedProperty p) + { + var text = WFI18N.Translate("WFEditorSetting", p.displayName); + var tooltip = p.tooltip; + if (string.IsNullOrWhiteSpace(tooltip)) + { + tooltip = text; + } + return new GUIContent(text, tooltip); + } } } diff --git a/Editor/WFEditorSettings.asset b/Editor/WFEditorSettings.asset index 397974a2..f26286af 100644 --- a/Editor/WFEditorSettings.asset +++ b/Editor/WFEditorSettings.asset @@ -23,3 +23,5 @@ MonoBehaviour: enableScanProjects: 1 enableMigrationWhenImport: 1 autoSwitchQuestShader: 1 + enableNccInVRC3Avatar: 1 + enableNccInVRC3World: 0 diff --git a/Editor/WF_Common.cs b/Editor/WF_Common.cs index 3064f728..fe21673d 100644 --- a/Editor/WF_Common.cs +++ b/Editor/WF_Common.cs @@ -17,6 +17,17 @@ #if UNITY_EDITOR +// VRCSDK有無の判定ここから ////// +#if VRC_SDK_VRCSDK3 +#define ENV_VRCSDK3 +#if UDON +#define ENV_VRCSDK3_WORLD +#else +#define ENV_VRCSDK3_AVATAR +#endif +#endif +// VRCSDK有無の判定ここまで ////// + // #define _WF_LEGACY_FEATURE_SWITCH // #define WF_COMMON_LOG_KEYWORD // キーワード変更時のログを出力する @@ -199,10 +210,11 @@ public static bool SetupMaterial(Material mat) var changed = false; if (IsSupportedShader(mat)) { - changed |= SetupMaterial_DeleteKeyword(mat); - changed |= SetupMaterial_SetupKeyword(mat); changed |= SetupMaterial_GIFrags(mat); changed |= SetupMaterial_ClearBgPass(mat); + changed |= SetupMaterial_NearClipCancel(mat); + changed |= SetupMaterial_SetupKeyword(mat); + changed |= SetupMaterial_DeleteKeyword(mat); } return changed; } @@ -285,6 +297,28 @@ private static bool SetupMaterial_ClearBgPass(Material mat) return changed; } + private static bool SetupMaterial_NearClipCancel(Material mat) + { + bool changed = false; +#if ENV_VRCSDK3_AVATAR || ENV_VRCSDK3_WORLD + if (mat.HasProperty("_GL_NCC_Enable")) + { + var oldVal = mat.GetInt("_GL_NCC_Enable"); +#if ENV_VRCSDK3_AVATAR + var newVal = (int)WFEditorSetting.GetOneOfSettings().enableNccInVRC3Avatar; +#elif ENV_VRCSDK3_WORLD + var newVal = (int)WFEditorSetting.GetOneOfSettings().enableNccInVRC3World; +#endif + if (0 <= newVal && oldVal != newVal) + { + mat.SetInt("_GL_NCC_Enable", newVal); + changed = true; + } + } +#endif + return changed; + } + #endregion #region シェーダ切り替え @@ -673,6 +707,17 @@ public static bool IsManagedUPM() return AssetDatabase.IsValidFolder("Packages/jp.whiteflare.unlitwf"); } + public static CurrentEntironment GetCurrentEntironment() + { +#if ENV_VRCSDK3_AVATAR + return CurrentEntironment.VRCSDK3_Avatar; +#elif ENV_VRCSDK3_WORLD + return CurrentEntironment.VRCSDK3_World; +#else + return CurrentEntironment.Other; +#endif + } + public const string KWD_EDITOR_HIDE_LMAP = "_WF_EDITOR_HIDE_LMAP"; public static bool IsKwdEnableHideLmap() @@ -722,6 +767,13 @@ private static void ClearSpecialProjectFlag() #endregion } + enum CurrentEntironment + { + VRCSDK3_Avatar, + VRCSDK3_World, + Other, + } + static class WFAccessor { /// diff --git a/Editor/WF_Dictionary.cs b/Editor/WF_Dictionary.cs index 991aa165..7b6bfac4 100644 --- a/Editor/WF_Dictionary.cs +++ b/Editor/WF_Dictionary.cs @@ -275,6 +275,7 @@ private static bool HasPropertyPrefix(Material mat, string prefix) // 基本機能 new WFCustomKeywordSettingBool("_UseVertexColor", "_VC_ENABLE"), new WFCustomKeywordSettingEnum("_GL_LightMode", "_GL_AUTO_ENABLE", "_GL_ONLYDIR_ENABLE", "_GL_ONLYPOINT_ENABLE", "_GL_WSDIR_ENABLE", "_GL_LSDIR_ENABLE", "_GL_WSPOS_ENABLE"), + new WFCustomKeywordSettingBool("_GL_NCC_Enable", "_GL_NCC_ENABLE"), new WFCustomKeywordSettingBool("_TL_LineType", "_TL_EDGE_ENABLE") { enablePropName = "_TL_Enable", }, @@ -578,6 +579,7 @@ private static Dictionary ToWFCustomKeywordSetti new WFI18NTranslation("Custom Light Pos", "カスタムライトの位置"), new WFI18NTranslation("Disable BackLit", "逆光補正しない"), new WFI18NTranslation("Disable ObjectBasePos", "メッシュ原点を取得しない"), + new WFI18NTranslation("Cancel Near Clipping", "カメラのニアクリップを無視"), // Light Bake Effects new WFI18NTranslation("LBE", "Indirect Multiplier", "間接光の倍率"), new WFI18NTranslation("LBE", "Emission Multiplier", "Emissionの倍率"), @@ -688,6 +690,20 @@ private static Dictionary ToWFCustomKeywordSetti new WFI18NTranslation("UnlitWF.SunSourceMode.CUSTOM_LOCAL_DIR", "カスタム(ローカル方向)"), new WFI18NTranslation("UnlitWF.SunSourceMode.CUSTOM_WORLD_POS", "カスタム(ワールド座標)"), + // WFEditorSetting + new WFI18NTranslation("WFEditorSetting", "This is the current setting used.", "これは現在有効な設定です。"), + new WFI18NTranslation("WFEditorSetting", "This is not the setting used now.", "これは現在有効の設定ではなく、他に有効な設定があります。"), + new WFI18NTranslation("WFEditorSetting", "Enable Stripping", "不要コードを除去する"), + new WFI18NTranslation("WFEditorSetting", "Strip Unused Variant", "未使用のバリアントを除去する"), + new WFI18NTranslation("WFEditorSetting", "Strip Unused Lod Fade", "未使用のLODクロスフェードを除去"), + new WFI18NTranslation("WFEditorSetting", "Strip Fallback", "Fallbackを除去"), + new WFI18NTranslation("WFEditorSetting", "Strip Meta Pass", "Metaパスを除去"), + new WFI18NTranslation("WFEditorSetting", "Validate Scene Materials", "ビルド時に古いマテリアルが含まれていないか検査する"), + new WFI18NTranslation("WFEditorSetting", "Cleanup Materials Before Avatar Build", "アバタービルド前にマテリアルをクリンナップする"), + new WFI18NTranslation("WFEditorSetting", "Enable Scan Projects", "Shaderインポート時にプロジェクトをスキャン"), + new WFI18NTranslation("WFEditorSetting", "Enable Migration When Import", "マテリアルインポート時にマテリアルを最新化"), + new WFI18NTranslation("WFEditorSetting", "Auto Switch Quest Shader", "Quest向けシェーダに自動で切り替える"), + // その他のテキスト new WFI18NTranslation(WFMessageText.NewerVersion, "新しいバージョンがリリースされています。\n最新版: "), new WFI18NTranslation(WFMessageText.PlzMigration, "このマテリアルは古いバージョンで作成されたようです。\n最新版に変換しますか?"), diff --git a/Editor/WF_MaterialConverter.cs b/Editor/WF_MaterialConverter.cs index 7adcf19c..51ed5e76 100644 --- a/Editor/WF_MaterialConverter.cs +++ b/Editor/WF_MaterialConverter.cs @@ -732,6 +732,7 @@ protected static List> CreateConverterList() var resetParam = ResetParameter.Create(); resetParam.materials = new Material[]{ ctx.target }; resetParam.resetColorAlpha = true; + resetParam.resetLit = true; // resetParam.resetUnused = true; resetParam.resetKeywords = true; WFMaterialEditUtility.ResetPropertiesWithoutUndo(resetParam); diff --git a/Editor/WF_MaterialEditUtility.cs b/Editor/WF_MaterialEditUtility.cs index 2cc6f662..d4b52ef3 100644 --- a/Editor/WF_MaterialEditUtility.cs +++ b/Editor/WF_MaterialEditUtility.cs @@ -666,10 +666,11 @@ private static void ResetPropertiesWithoutUndo(ResetParameter param, Material ma DeleteShaderKeyword(material, props); } - // キーワードを整理する - WFCommonUtility.SetupMaterial(material); // Default割り当てTextureを再設定する ResetDefaultTextures(material, del_names); + + // キーワードを整理する + WFCommonUtility.SetupMaterial(material); // 反映 EditorUtility.SetDirty(material); } @@ -698,7 +699,7 @@ internal static void RemovePropertiesWithoutUndo(Material material, params strin EditorUtility.SetDirty(material); } - private static void ResetDefaultTextures(Material material, HashSet del_names) + private static void ResetDefaultTextures(Material material, IEnumerable del_names) { var shader = material.shader; var path = AssetDatabase.GetAssetPath(shader); diff --git a/Editor/WF_MiscUtil.cs b/Editor/WF_MiscUtil.cs index 501345ae..55082157 100644 --- a/Editor/WF_MiscUtil.cs +++ b/Editor/WF_MiscUtil.cs @@ -232,7 +232,11 @@ public IEnumerable GetAllMaterialsInScene(List result = null InitList(ref result); for (int i = 0; i < SceneManager.sceneCount; i++) { - GetAllMaterials(SceneManager.GetSceneAt(i), result); + Scene scene = SceneManager.GetSceneAt(i); + if (scene.isLoaded) // SceneManagerで取るときはisLoadedを確認する + { + GetAllMaterials(scene, result); + } } return result; @@ -241,7 +245,7 @@ public IEnumerable GetAllMaterialsInScene(List result = null public IEnumerable GetAllMaterials(Scene scene, List result = null) { InitList(ref result); - if (scene == null || !scene.isLoaded) + if (scene == null) // IProcessSceneWithReport.OnProcessSceneの実装クラスから呼び出されるここではisLoadedは確認しない { return result; } diff --git a/Editor/WF_ShaderCustomEditor.cs b/Editor/WF_ShaderCustomEditor.cs index 891baf8d..ce65982f 100644 --- a/Editor/WF_ShaderCustomEditor.cs +++ b/Editor/WF_ShaderCustomEditor.cs @@ -66,6 +66,17 @@ class ShaderCustomEditor : ShaderGUI new ConditionVisiblePropertyHook("_GL_ShadowCutoff", ctx => IsAnyIntValue(ctx, "_GL_CastShadow", p => 1 <= p)), new ConditionVisiblePropertyHook("_GL_CustomAzimuth|_GL_CustomAltitude", ctx => IsAnyIntValue(ctx, "_GL_LightMode", p => p != 5)), new ConditionVisiblePropertyHook("_GL_CustomLitPos", ctx => IsAnyIntValue(ctx, "_GL_LightMode", p => p == 5)), + new ConditionVisiblePropertyHook("_GL_NCC_Enable", ctx => { + switch(WFCommonUtility.GetCurrentEntironment()) + { + case CurrentEntironment.VRCSDK3_Avatar: + return WFEditorSetting.GetOneOfSettings().enableNccInVRC3Avatar == NearClipCancelMode.PerMaterial; + case CurrentEntironment.VRCSDK3_World: + return WFEditorSetting.GetOneOfSettings().enableNccInVRC3World == NearClipCancelMode.PerMaterial; + default: + return true; + } + }), // 条件付きHide(Grass系列) new ConditionVisiblePropertyHook("_GRS_WorldYBase|_GRS_WorldYScale", ctx => IsAnyIntValue(ctx, "_GRS_HeightType", p => p == 0)), new ConditionVisiblePropertyHook("_GRS_HeightUVType", ctx => IsAnyIntValue(ctx, "_GRS_HeightType", p => p == 1 || p == 2)), @@ -271,77 +282,90 @@ public static void PostChangeShader(Material oldMat, Material newMat, Shader old { // DebugViewの保存に使っているタグはクリア WF_DebugViewEditor.ClearDebugOverrideTag(newMat); - // シェーダキーワードを整理する - WFCommonUtility.SetupMaterial(newMat); // 他シェーダからの切替時に動作 if (!WFCommonUtility.IsSupportedShader(oldShader)) { - // OverrideTag を掃除する - newMat.SetOverrideTag("RenderType", ""); - newMat.SetOverrideTag("VRCFallback", ""); - newMat.SetOverrideTag("DisableBatching", ""); // DisableBatching は OverrideTag にしても動かないが - newMat.SetOverrideTag("IgnoreProjector", ""); - // Color を sRGB -> Linear 変換して再設定する - if (newMat.HasProperty("_Color")) - { -#if UNITY_2019_1_OR_NEWER - var idx = oldShader.FindPropertyIndex("_Color"); - if (0 <= idx) - { - var flags = oldShader.GetPropertyFlags(idx); - if (!flags.HasFlag(UnityEngine.Rendering.ShaderPropertyFlags.HDR)) - { - var val = newMat.GetColor("_Color"); - newMat.SetColor("_Color", val.linear); - } - } -#else - var val = oldMat.GetColor("_Color"); - newMat.SetColor("_Color", val.linear); -#endif - } - // もし EmissionColor の Alpha が 0 になっていたら 1 にしちゃう - if (newMat.HasProperty("_EmissionColor")) - { - var val = newMat.GetColor("_EmissionColor"); - if (val.a < 1e-4) - { - val.a = 1.0f; - newMat.SetColor("_EmissionColor", val); - } - } - // もし FakeFur への切り替えかつ _Cutoff が 0.5 だったら 0.2 を設定しちゃう - if (newShader.name.Contains("FakeFur") && newMat.HasProperty("_Cutoff")) - { - var val = newMat.GetFloat("_Cutoff"); - if (Mathf.Abs(val - 0.5f) < Mathf.Epsilon) - { - val = 0.2f; - newMat.SetFloat("_Cutoff", val); - } - } + PostChangeShader_OtherToWF(oldMat, newMat, oldShader, newShader); } else { - // UnlitWFからの切替時に動作 - if (oldShader.name.Contains("FakeFur") && newShader.name.Contains("FakeFur")) - { - // FakeFurどうしの切り替えで、 - if (!oldShader.name.Contains("_Mix") && newShader.name.Contains("_Mix")) - { - // Mixへの切り替えならば、FR_Height2とFR_Repeat2を設定する - var height = newMat.GetFloat("_FUR_Height"); - newMat.SetFloat("_FUR_Height2", height * 1.25f); - var repeat = newMat.GetInt("_FUR_Repeat"); - newMat.SetInt("_FUR_Repeat2", Math.Max(1, repeat - 1)); - } - } - // 同種シェーダの切替時には RenderQueue をコピーする - if (oldShader.renderQueue == newShader.renderQueue && oldMat.renderQueue != oldShader.renderQueue) + PostChangeShader_WFToWF(oldMat, newMat, oldShader, newShader); + } + // シェーダキーワードを整理する + WFCommonUtility.SetupMaterial(newMat); + } + } + + public static void PostChangeShader_OtherToWF(Material oldMat, Material newMat, Shader oldShader, Shader newShader) + { + // OverrideTag を掃除する + newMat.SetOverrideTag("RenderType", ""); + newMat.SetOverrideTag("VRCFallback", ""); + newMat.SetOverrideTag("DisableBatching", ""); // DisableBatching は OverrideTag にしても動かないが + newMat.SetOverrideTag("IgnoreProjector", ""); + + // Color を sRGB -> Linear 変換して再設定する + if (newMat.HasProperty("_Color")) + { +#if UNITY_2019_1_OR_NEWER + var idx = oldShader.FindPropertyIndex("_Color"); + if (0 <= idx) + { + var flags = oldShader.GetPropertyFlags(idx); + if (!flags.HasFlag(UnityEngine.Rendering.ShaderPropertyFlags.HDR)) { - newMat.renderQueue = oldMat.renderQueue; + var val = newMat.GetColor("_Color"); + newMat.SetColor("_Color", val.linear); } } +#else + var val = oldMat.GetColor("_Color"); + newMat.SetColor("_Color", val.linear); +#endif + } + + // もし EmissionColor の Alpha が 0 になっていたら 1 にしちゃう + if (newMat.HasProperty("_EmissionColor")) + { + var val = newMat.GetColor("_EmissionColor"); + if (val.a < 1e-4) + { + val.a = 1.0f; + newMat.SetColor("_EmissionColor", val); + } + } + + // もし FakeFur への切り替えかつ _Cutoff が 0.5 だったら 0.2 を設定しちゃう + if (newShader.name.Contains("FakeFur") && newMat.HasProperty("_Cutoff")) + { + var val = newMat.GetFloat("_Cutoff"); + if (Mathf.Abs(val - 0.5f) < Mathf.Epsilon) + { + val = 0.2f; + newMat.SetFloat("_Cutoff", val); + } + } + } + + public static void PostChangeShader_WFToWF(Material oldMat, Material newMat, Shader oldShader, Shader newShader) + { + // UnlitWFからの切替時に動作 + if (oldShader.name.Contains("FakeFur") && newShader.name.Contains("FakeFur")) + { + // FakeFurどうしの切り替えで、 + if (!oldShader.name.Contains("_Mix") && newShader.name.Contains("_Mix")) + { + // Mixへの切り替えならば、FR_Height2とFR_Repeat2を設定する + var height = newMat.GetFloat("_FUR_Height"); + newMat.SetFloat("_FUR_Height2", height * 1.25f); + var repeat = newMat.GetInt("_FUR_Repeat"); + newMat.SetInt("_FUR_Repeat2", Math.Max(1, repeat - 1)); + } + } + // 同種シェーダの切替時には RenderQueue をコピーする + if (oldShader.renderQueue == newShader.renderQueue && oldMat.renderQueue != oldShader.renderQueue) + { + newMat.renderQueue = oldMat.renderQueue; } } @@ -903,7 +927,7 @@ public static void DrawSingleLineTextureProperty(MaterialEditor materialEditor, DrawAdditionalColorCodeField(propColor); // もしテクスチャが新たに設定されたならば、カラーを白にリセットする - if (EditorGUI.EndChangeCheck() && oldTexture == null && propTexture.textureValue != null) + if (EditorGUI.EndChangeCheck() && oldTexture == null && propTexture.textureValue != null && propColor.colorValue.maxColorComponent < 0.05f) { propColor.colorValue = Color.white; } diff --git a/Editor/WF_ShaderPreprocessor.cs b/Editor/WF_ShaderPreprocessor.cs index c4e0f153..026e62ac 100644 --- a/Editor/WF_ShaderPreprocessor.cs +++ b/Editor/WF_ShaderPreprocessor.cs @@ -64,19 +64,36 @@ public bool OnPreprocessAvatar(GameObject avatarGameObject) private void CleanupMaterialsBeforeAvatarBuild(GameObject avatarGameObject) { - if (WFEditorSetting.GetOneOfSettings().cleanupMaterialsBeforeAvatarBuild) + var cleanupMaterials = new List(); + var setupMaterials = new List(); + foreach (var mat in new MaterialSeeker().GetAllMaterials(avatarGameObject).Distinct()) + { + if (WFEditorSetting.GetOneOfSettings().cleanupMaterialsBeforeAvatarBuild && !Converter.WFMaterialMigrationConverter.ExistsNeedsMigration(mat)) + { + cleanupMaterials.Add(mat); + } + else + { + setupMaterials.Add(mat); + } + } + if (0 < cleanupMaterials.Count) { var param = CleanUpParameter.Create(); - param.materials = new MaterialSeeker().GetAllMaterials(avatarGameObject).Distinct() - // 古いプロパティを含んでいるマテリアルはクリンナップしない - .Where(mat => !Converter.WFMaterialMigrationConverter.ExistsNeedsMigration(mat)) - .ToArray(); + param.materials = cleanupMaterials.ToArray(); param.execNonWFMaterials = false; // ビルド時は NonWF マテリアルのクリンナップを行わない if (WFMaterialEditUtility.CleanUpProperties(param)) { AssetDatabase.SaveAssets(); // 未保存のマテリアルを保存 } } + if (0 < setupMaterials.Count) + { + if (WFCommonUtility.SetupMaterials(setupMaterials.ToArray())) + { + AssetDatabase.SaveAssets(); // 未保存のマテリアルを保存 + } + } } } #elif ENV_VRCSDK3_WORLD @@ -86,8 +103,21 @@ internal class WF_PreprocessorForVRCSDK3World : IProcessSceneWithReport public void OnProcessScene(Scene scene, UnityEditor.Build.Reporting.BuildReport report) { + // マテリアルのセットアップ + CleanupMaterialsBeforeWorldBuild(); + + // avatarGameObject からマテリアルを回収 Core.InitUsedShaderVariantListForVRCSDK3World(scene); } + + private static void CleanupMaterialsBeforeWorldBuild() + { + var mats = new MaterialSeeker().GetAllMaterialsInScene().Distinct(); + if (WFCommonUtility.SetupMaterials(mats.ToArray())) + { + AssetDatabase.SaveAssets(); // 未保存のマテリアルを保存 + } + } } #else internal class WF_PreprocessorForOther : IPreprocessShaders diff --git a/Shaders/Unlit_WF_DebugView.shader b/Shaders/Unlit_WF_DebugView.shader index 4ba19375..004637cf 100644 --- a/Shaders/Unlit_WF_DebugView.shader +++ b/Shaders/Unlit_WF_DebugView.shader @@ -59,7 +59,7 @@ Shader "UnlitWF/Debug/WF_DebugView" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_FakeFur_FurOnly_Mix.shader b/Shaders/Unlit_WF_FakeFur_FurOnly_Mix.shader index 32450b05..855b8cb8 100644 --- a/Shaders/Unlit_WF_FakeFur_FurOnly_Mix.shader +++ b/Shaders/Unlit_WF_FakeFur_FurOnly_Mix.shader @@ -140,10 +140,12 @@ Shader "UnlitWF/WF_FakeFur_FurOnly_Mix" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 } SubShader { @@ -170,6 +172,7 @@ Shader "UnlitWF/WF_FakeFur_FurOnly_Mix" { #pragma fragment frag_fakefur_cutoff #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE @@ -201,6 +204,7 @@ Shader "UnlitWF/WF_FakeFur_FurOnly_Mix" { #pragma fragment frag_fakefur #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE diff --git a/Shaders/Unlit_WF_FakeFur_FurOnly_TransCutout.shader b/Shaders/Unlit_WF_FakeFur_FurOnly_TransCutout.shader index 445d3866..b892f9cc 100644 --- a/Shaders/Unlit_WF_FakeFur_FurOnly_TransCutout.shader +++ b/Shaders/Unlit_WF_FakeFur_FurOnly_TransCutout.shader @@ -136,10 +136,12 @@ Shader "UnlitWF/WF_FakeFur_FurOnly_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 } SubShader { @@ -166,6 +168,7 @@ Shader "UnlitWF/WF_FakeFur_FurOnly_TransCutout" { #pragma fragment frag_fakefur_cutoff #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE diff --git a/Shaders/Unlit_WF_FakeFur_FurOnly_Transparent.shader b/Shaders/Unlit_WF_FakeFur_FurOnly_Transparent.shader index 5b363d29..c15d690a 100644 --- a/Shaders/Unlit_WF_FakeFur_FurOnly_Transparent.shader +++ b/Shaders/Unlit_WF_FakeFur_FurOnly_Transparent.shader @@ -133,10 +133,12 @@ Shader "UnlitWF/WF_FakeFur_FurOnly_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 } SubShader { @@ -163,6 +165,7 @@ Shader "UnlitWF/WF_FakeFur_FurOnly_Transparent" { #pragma fragment frag_fakefur #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE diff --git a/Shaders/Unlit_WF_FakeFur_Mix.shader b/Shaders/Unlit_WF_FakeFur_Mix.shader index 4c77dc81..9667b3f1 100644 --- a/Shaders/Unlit_WF_FakeFur_Mix.shader +++ b/Shaders/Unlit_WF_FakeFur_Mix.shader @@ -191,10 +191,12 @@ Shader "UnlitWF/WF_FakeFur_Mix" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -222,6 +224,7 @@ Shader "UnlitWF/WF_FakeFur_Mix" { #pragma target 4.5 #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE @@ -255,6 +258,7 @@ Shader "UnlitWF/WF_FakeFur_Mix" { #pragma fragment frag_fakefur_cutoff #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE @@ -286,6 +290,7 @@ Shader "UnlitWF/WF_FakeFur_Mix" { #pragma fragment frag_fakefur #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE diff --git a/Shaders/Unlit_WF_FakeFur_TransCutout.shader b/Shaders/Unlit_WF_FakeFur_TransCutout.shader index 0e146c29..49672a21 100644 --- a/Shaders/Unlit_WF_FakeFur_TransCutout.shader +++ b/Shaders/Unlit_WF_FakeFur_TransCutout.shader @@ -187,10 +187,12 @@ Shader "UnlitWF/WF_FakeFur_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -218,6 +220,7 @@ Shader "UnlitWF/WF_FakeFur_TransCutout" { #pragma target 4.5 #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE @@ -251,6 +254,7 @@ Shader "UnlitWF/WF_FakeFur_TransCutout" { #pragma fragment frag_fakefur_cutoff #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE diff --git a/Shaders/Unlit_WF_FakeFur_Transparent.shader b/Shaders/Unlit_WF_FakeFur_Transparent.shader index 44ba2c0c..950da93d 100644 --- a/Shaders/Unlit_WF_FakeFur_Transparent.shader +++ b/Shaders/Unlit_WF_FakeFur_Transparent.shader @@ -184,10 +184,12 @@ Shader "UnlitWF/WF_FakeFur_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -215,6 +217,7 @@ Shader "UnlitWF/WF_FakeFur_Transparent" { #pragma target 4.5 #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE @@ -248,6 +251,7 @@ Shader "UnlitWF/WF_FakeFur_Transparent" { #pragma fragment frag_fakefur #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TS_ENABLE #pragma shader_feature_local_fragment _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local_fragment _CLC_ENABLE diff --git a/Shaders/Unlit_WF_Gem_Opaque.shader b/Shaders/Unlit_WF_Gem_Opaque.shader index 43ec31f9..ae7b3d61 100644 --- a/Shaders/Unlit_WF_Gem_Opaque.shader +++ b/Shaders/Unlit_WF_Gem_Opaque.shader @@ -94,7 +94,7 @@ Shader "UnlitWF/WF_Gem_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 diff --git a/Shaders/Unlit_WF_Gem_Transparent.shader b/Shaders/Unlit_WF_Gem_Transparent.shader index 018d0d7a..97310178 100644 --- a/Shaders/Unlit_WF_Gem_Transparent.shader +++ b/Shaders/Unlit_WF_Gem_Transparent.shader @@ -120,7 +120,7 @@ Shader "UnlitWF/WF_Gem_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 diff --git a/Shaders/Unlit_WF_Grass_TransCutout.shader b/Shaders/Unlit_WF_Grass_TransCutout.shader index cca7dac1..c4546972 100644 --- a/Shaders/Unlit_WF_Grass_TransCutout.shader +++ b/Shaders/Unlit_WF_Grass_TransCutout.shader @@ -78,7 +78,7 @@ Shader "UnlitWF/WF_Grass_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Addition.shader b/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Addition.shader index 6add6692..f5d4fa1e 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Addition.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Addition.shader @@ -161,10 +161,12 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Addition" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _Category ("BRP|UnToon|Custom/ClearCoat|Addition", Float) = 0 @@ -197,6 +199,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Addition" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local_fragment _ _MT_NORHMAP_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Opaque.shader b/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Opaque.shader index 813cfa61..ad758523 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Opaque.shader @@ -352,6 +352,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -361,7 +363,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -393,6 +395,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -441,6 +444,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local_fragment _ _MT_NORHMAP_ENABLE #pragma shader_feature_local_fragment _ _MT_ONLY2ND_ENABLE @@ -472,6 +476,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Opaque" { #pragma vertex vert_shadow #pragma fragment frag_shadow + #define _GL_NCC_ENABLE + #pragma multi_compile_shadowcaster #pragma multi_compile_instancing #pragma multi_compile _ LOD_FADE_CROSSFADE diff --git a/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_TransCutout.shader b/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_TransCutout.shader index 81a98485..ae040d68 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_TransCutout.shader @@ -364,6 +364,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -373,7 +375,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout", Float) = 0 @@ -409,6 +411,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_TransCutout" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -457,6 +460,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_TransCutout" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local_fragment _ _MT_NORHMAP_ENABLE @@ -490,6 +494,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_TransCutout" { #pragma fragment frag_shadow #define _WF_ALPHA_CUTOUT + #define _GL_NCC_ENABLE #pragma multi_compile_shadowcaster #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Transparent.shader b/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Transparent.shader index 1b4f4358..7b8c9c5f 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_ClearCoat_Transparent.shader @@ -372,6 +372,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -381,7 +383,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _ClearBgSupported ("True", Float) = 0 @@ -445,6 +447,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -493,6 +496,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local_fragment _ _MT_NORHMAP_ENABLE @@ -526,6 +530,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_ClearCoat_Transparent" { #pragma fragment frag_shadow #define _WF_ALPHA_BLEND + #define _GL_NCC_ENABLE #pragma multi_compile_shadowcaster #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_Custom_GhostOpaque.shader b/Shaders/Unlit_WF_UnToon_Custom_GhostOpaque.shader index 9eff3492..24322e74 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_GhostOpaque.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_GhostOpaque.shader @@ -338,6 +338,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_GhostOpaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -347,7 +349,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_GhostOpaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -382,6 +384,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_GhostOpaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Custom_GhostTransparent.shader b/Shaders/Unlit_WF_UnToon_Custom_GhostTransparent.shader index 9fb56db2..f8f7d98e 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_GhostTransparent.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_GhostTransparent.shader @@ -352,6 +352,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_GhostTransparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -361,7 +363,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_GhostTransparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -406,6 +408,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_GhostTransparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -460,6 +463,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_GhostTransparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Custom_LameOnly_Transparent.shader b/Shaders/Unlit_WF_UnToon_Custom_LameOnly_Transparent.shader index 3915f66f..1b0fd6ad 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_LameOnly_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_LameOnly_Transparent.shader @@ -70,10 +70,12 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_LameOnly_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _Category ("BRP|UnToon|Custom/LameOnly|Transparent", Float) = 0 @@ -107,6 +109,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_LameOnly_Transparent" { #define _WF_MAIN_Z_SHIFT (-_Z_Shift) #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local_fragment _LME_ENABLE #pragma multi_compile_fwdbase diff --git a/Shaders/Unlit_WF_UnToon_Custom_Mirror_Opaque.shader b/Shaders/Unlit_WF_UnToon_Custom_Mirror_Opaque.shader index 6c0f6b78..e982b2cb 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_Mirror_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_Mirror_Opaque.shader @@ -348,6 +348,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_MirrorControl_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -357,7 +359,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_MirrorControl_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -389,6 +391,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_MirrorControl_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -451,6 +454,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_MirrorControl_Opaque" { #pragma vertex vert_shadow #pragma fragment frag_shadow + #define _GL_NCC_ENABLE + #pragma multi_compile_shadowcaster #pragma multi_compile_instancing #pragma multi_compile _ LOD_FADE_CROSSFADE diff --git a/Shaders/Unlit_WF_UnToon_Custom_OffsetOutline_Opaque.shader b/Shaders/Unlit_WF_UnToon_Custom_OffsetOutline_Opaque.shader index 84b646ad..d1c08ed1 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_OffsetOutline_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_OffsetOutline_Opaque.shader @@ -351,6 +351,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_OffsetOutline_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -360,7 +362,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_OffsetOutline_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -394,6 +396,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_OffsetOutline_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE @@ -427,6 +430,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_OffsetOutline_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Custom_PowerCap_Outline_Opaque.shader b/Shaders/Unlit_WF_UnToon_Custom_PowerCap_Outline_Opaque.shader index b033fda9..302b70c5 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_PowerCap_Outline_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_PowerCap_Outline_Opaque.shader @@ -317,6 +317,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_PowerCap_Outline_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -326,7 +328,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_PowerCap_Outline_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -360,6 +362,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_PowerCap_Outline_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE @@ -392,6 +395,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_PowerCap_Outline_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Custom_Tess_PowerCap_Opaque.shader b/Shaders/Unlit_WF_UnToon_Custom_Tess_PowerCap_Opaque.shader index 86a3beff..de9d7ca9 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_Tess_PowerCap_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_Tess_PowerCap_Opaque.shader @@ -336,6 +336,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Tess_PowerCap_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -345,7 +347,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Tess_PowerCap_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/WF_UnToon_Opaque", Float) = 0 @@ -380,6 +382,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Tess_PowerCap_Opaque" { #define _WF_UNTOON_TESS #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE @@ -415,6 +418,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Tess_PowerCap_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Custom_Transparent_FrostedGlass.shader b/Shaders/Unlit_WF_UnToon_Custom_Transparent_FrostedGlass.shader index bf7c541f..29a11dcc 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_Transparent_FrostedGlass.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_Transparent_FrostedGlass.shader @@ -342,6 +342,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Transparent_FrostedGlass" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -351,7 +353,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Transparent_FrostedGlass" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -388,6 +390,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Transparent_FrostedGlass" { #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -435,6 +438,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Transparent_FrostedGlass" { #pragma fragment frag_shadow #define _WF_ALPHA_BLEND + #define _GL_NCC_ENABLE #pragma multi_compile_shadowcaster #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_Custom_Transparent_Refracted.shader b/Shaders/Unlit_WF_UnToon_Custom_Transparent_Refracted.shader index e7c4572d..10b82d37 100644 --- a/Shaders/Unlit_WF_UnToon_Custom_Transparent_Refracted.shader +++ b/Shaders/Unlit_WF_UnToon_Custom_Transparent_Refracted.shader @@ -373,6 +373,8 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Transparent_Refracted" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -382,7 +384,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Transparent_Refracted" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -419,6 +421,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Transparent_Refracted" { #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -468,6 +471,7 @@ Shader "UnlitWF/Custom/WF_UnToon_Custom_Transparent_Refracted" { #pragma fragment frag_shadow #define _WF_ALPHA_BLEND + #define _GL_NCC_ENABLE #pragma multi_compile_shadowcaster #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_DepthOnly.shader b/Shaders/Unlit_WF_UnToon_DepthOnly.shader index 62e17c6b..40238361 100644 --- a/Shaders/Unlit_WF_UnToon_DepthOnly.shader +++ b/Shaders/Unlit_WF_UnToon_DepthOnly.shader @@ -22,13 +22,22 @@ Shader "UnlitWF/WF_UnToon_DepthOnly" { [ToggleUI] _GL_DepthOnlyVRCCam ("VRC Camera Only", Range(0, 1)) = 0 + // Dissolve + [WFHeaderToggle(Dissolve)] + _DSV_Enable ("[DSV] Enable", Float) = 0 + _DSV_Dissolve ("[DSV] Dissolve", Range(0, 1)) = 1.0 + + [WFHeader(Lit Advance)] + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 + [HideInInspector] [WF_FixFloat(1.0)] _GL_CastShadow ("Cast Shadows", Range(0, 1)) = 1 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 @@ -98,39 +107,19 @@ Shader "UnlitWF/WF_UnToon_DepthOnly" { CGPROGRAM - #pragma vertex vert_depthonly + #pragma vertex vert_shadow #pragma fragment frag_shadow + #define _WF_DEPTHONLY_BRP + #define _DSV_ENABLE + #define _GL_NCC_ENABLE + #pragma multi_compile_shadowcaster #pragma multi_compile_instancing #pragma multi_compile _ LOD_FADE_CROSSFADE #include "WF_UnToon_ShadowCaster.cginc" - float _GL_DepthOnlyWidth; - float _GL_DepthOnlyVRCCam; - float _VRChatCameraMode; - - v2f_shadow vert_depthonly(appdata_base v) { - v2f_shadow o; - - UNITY_SETUP_INSTANCE_ID(v); - UNITY_INITIALIZE_OUTPUT(v2f_shadow, o); - UNITY_TRANSFER_INSTANCE_ID(v, o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - v.vertex.xyz += normalize(v.normal) * max(0, _GL_DepthOnlyWidth); - - TRANSFER_SHADOW_CASTER_NORMALOFFSET(o) - if (TGL_ON(_GL_DepthOnlyVRCCam) && _VRChatCameraMode == 0) { - o.pos = UnityObjectToClipPos( float3(0, 0, 0) ); - } - // オリジナルは _GL_CastShadow の判定を行っているが省略。frag には判定が残っているのでプロパティは削除しない。 - o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); - - return o; - } - ENDCG } diff --git a/Shaders/Unlit_WF_UnToon_Hidden.shader b/Shaders/Unlit_WF_UnToon_Hidden.shader index bc5cfcc1..65a07a8b 100644 --- a/Shaders/Unlit_WF_UnToon_Hidden.shader +++ b/Shaders/Unlit_WF_UnToon_Hidden.shader @@ -19,7 +19,7 @@ Shader "Hidden/UnlitWF/WF_UnToon_Hidden" { Properties { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_UnToon_Mobile_Opaque.shader b/Shaders/Unlit_WF_UnToon_Mobile_Opaque.shader index 1834e5b8..dcd68ef6 100644 --- a/Shaders/Unlit_WF_UnToon_Mobile_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Mobile_Opaque.shader @@ -168,6 +168,19 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque" { _ES_SC_Sharpness ("[ES] Sharpness", Range(0, 4)) = 1 _ES_SC_Speed ("[ES] ScrollSpeed", Range(0, 8)) = 2 + [Header(Emissive AudioLink)] + [ToggleUI] + _ES_AuLinkEnable ("[ES] Enable AudioLink", Float) = 0 + _ES_AU_MinValue ("[ES] Emission Multiplier (Min)", Range(0, 1)) = 0 + _ES_AU_MaxValue ("[ES] Emission Multiplier (Max)", Range(0, 8)) = 2 + [ToggleUI] + _ES_AU_BlackOut ("[ES] Dont Emit when AudioLink is disabled", Range(0, 1)) = 0 + [Enum(TREBLE,3,HIGH_MIDS,2,LOW_MIDS,1,BASS,0)] + _ES_AU_Band ("[ES] Band", Float) = 0 + _ES_AU_Slope ("[ES] Slope", Range(0, 1)) = 0.2 + _ES_AU_MinThreshold ("[ES] Threshold (Min)", Range(0, 1)) = 0.1 + _ES_AU_MaxThreshold ("[ES] Threshold (Max)", Range(0, 1)) = 0.5 + // Lit [WFHeader(Lit)] [Gamma] @@ -189,6 +202,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -198,7 +213,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 @@ -228,6 +243,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque" { #define _WF_MOBILE #pragma shader_feature_local _ _ES_SCROLL_ENABLE + #pragma shader_feature_local _ _ES_AULINK_ENABLE #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _MT_NORHMAP_ENABLE #pragma shader_feature_local _ _MT_ONLY2ND_ENABLE @@ -235,6 +251,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque" { #pragma shader_feature_local _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local _AO_ENABLE #pragma shader_feature_local _ES_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _HL_ENABLE #pragma shader_feature_local _MT_ENABLE #pragma shader_feature_local _NM_ENABLE @@ -266,6 +283,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque" { #pragma vertex vert_shadow #pragma fragment frag_shadow + #define _GL_NCC_ENABLE + #pragma multi_compile_shadowcaster #pragma multi_compile_instancing #pragma multi_compile _ LOD_FADE_CROSSFADE diff --git a/Shaders/Unlit_WF_UnToon_Mobile_OutlineOnly_Opaque.shader b/Shaders/Unlit_WF_UnToon_Mobile_OutlineOnly_Opaque.shader index 56c17ec2..1861d46f 100644 --- a/Shaders/Unlit_WF_UnToon_Mobile_OutlineOnly_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Mobile_OutlineOnly_Opaque.shader @@ -59,10 +59,12 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_OutlineOnly_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 @@ -90,6 +92,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_OutlineOnly_Opaque" { #pragma target 3.0 #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Mobile_OutlineOnly_TransCutout.shader b/Shaders/Unlit_WF_UnToon_Mobile_OutlineOnly_TransCutout.shader index 2ad92f52..f4c532e4 100644 --- a/Shaders/Unlit_WF_UnToon_Mobile_OutlineOnly_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_Mobile_OutlineOnly_TransCutout.shader @@ -71,10 +71,12 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_OutlineOnly_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 @@ -106,6 +108,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_OutlineOnly_TransCutout" { #define _WF_ALPHA_CUTFADE #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Mobile_Outline_Opaque.shader b/Shaders/Unlit_WF_UnToon_Mobile_Outline_Opaque.shader index 70c38126..83c9420b 100644 --- a/Shaders/Unlit_WF_UnToon_Mobile_Outline_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Mobile_Outline_Opaque.shader @@ -183,6 +183,19 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque" { _ES_SC_Sharpness ("[ES] Sharpness", Range(0, 4)) = 1 _ES_SC_Speed ("[ES] ScrollSpeed", Range(0, 8)) = 2 + [Header(Emissive AudioLink)] + [ToggleUI] + _ES_AuLinkEnable ("[ES] Enable AudioLink", Float) = 0 + _ES_AU_MinValue ("[ES] Emission Multiplier (Min)", Range(0, 1)) = 0 + _ES_AU_MaxValue ("[ES] Emission Multiplier (Max)", Range(0, 8)) = 2 + [ToggleUI] + _ES_AU_BlackOut ("[ES] Dont Emit when AudioLink is disabled", Range(0, 1)) = 0 + [Enum(TREBLE,3,HIGH_MIDS,2,LOW_MIDS,1,BASS,0)] + _ES_AU_Band ("[ES] Band", Float) = 0 + _ES_AU_Slope ("[ES] Slope", Range(0, 1)) = 0.2 + _ES_AU_MinThreshold ("[ES] Threshold (Min)", Range(0, 1)) = 0.1 + _ES_AU_MaxThreshold ("[ES] Threshold (Max)", Range(0, 1)) = 0.5 + // Lit [WFHeader(Lit)] [Gamma] @@ -204,6 +217,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -213,7 +228,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 @@ -242,6 +257,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque" { #define _WF_MOBILE #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE @@ -274,6 +290,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque" { #define _WF_MOBILE #pragma shader_feature_local _ _ES_SCROLL_ENABLE + #pragma shader_feature_local _ _ES_AULINK_ENABLE #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _MT_NORHMAP_ENABLE #pragma shader_feature_local _ _MT_ONLY2ND_ENABLE @@ -281,6 +298,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque" { #pragma shader_feature_local _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local _AO_ENABLE #pragma shader_feature_local _ES_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _HL_ENABLE #pragma shader_feature_local _MT_ENABLE #pragma shader_feature_local _NM_ENABLE @@ -312,6 +330,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque" { #pragma vertex vert_shadow #pragma fragment frag_shadow + #define _GL_NCC_ENABLE + #pragma multi_compile_shadowcaster #pragma multi_compile_instancing #pragma multi_compile _ LOD_FADE_CROSSFADE @@ -332,6 +352,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque" { #pragma vertex vert_meta #pragma fragment frag_meta + #define _WF_MOBILE + #pragma shader_feature_local _ES_ENABLE #pragma shader_feature_local _VC_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Mobile_Outline_TransCutout.shader b/Shaders/Unlit_WF_UnToon_Mobile_Outline_TransCutout.shader index ddbcf42c..a65188f5 100644 --- a/Shaders/Unlit_WF_UnToon_Mobile_Outline_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_Mobile_Outline_TransCutout.shader @@ -181,6 +181,19 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_TransCutout" { _ES_SC_Sharpness ("[ES] Sharpness", Range(0, 4)) = 1 _ES_SC_Speed ("[ES] ScrollSpeed", Range(0, 8)) = 2 + [Header(Emissive AudioLink)] + [ToggleUI] + _ES_AuLinkEnable ("[ES] Enable AudioLink", Float) = 0 + _ES_AU_MinValue ("[ES] Emission Multiplier (Min)", Range(0, 1)) = 0 + _ES_AU_MaxValue ("[ES] Emission Multiplier (Max)", Range(0, 8)) = 2 + [ToggleUI] + _ES_AU_BlackOut ("[ES] Dont Emit when AudioLink is disabled", Range(0, 1)) = 0 + [Enum(TREBLE,3,HIGH_MIDS,2,LOW_MIDS,1,BASS,0)] + _ES_AU_Band ("[ES] Band", Float) = 0 + _ES_AU_Slope ("[ES] Slope", Range(0, 1)) = 0.2 + _ES_AU_MinThreshold ("[ES] Threshold (Min)", Range(0, 1)) = 0.1 + _ES_AU_MaxThreshold ("[ES] Threshold (Max)", Range(0, 1)) = 0.5 + // Lit [WFHeader(Lit)] [Gamma] @@ -202,6 +215,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -211,7 +226,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 @@ -243,6 +258,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_TransCutout" { #define _WF_MOBILE #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE @@ -278,6 +294,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_TransCutout" { #define _WF_MOBILE #pragma shader_feature_local _ _ES_SCROLL_ENABLE + #pragma shader_feature_local _ _ES_AULINK_ENABLE #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _MT_NORHMAP_ENABLE #pragma shader_feature_local _ _MT_ONLY2ND_ENABLE @@ -285,6 +302,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_TransCutout" { #pragma shader_feature_local _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local _AO_ENABLE #pragma shader_feature_local _ES_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _HL_ENABLE #pragma shader_feature_local _MT_ENABLE #pragma shader_feature_local _TR_ENABLE @@ -316,6 +334,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_TransCutout" { #pragma fragment frag_shadow #define _WF_ALPHA_CUTOUT + #define _GL_NCC_ENABLE #pragma multi_compile_shadowcaster #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_Mobile_TransCutout.shader b/Shaders/Unlit_WF_UnToon_Mobile_TransCutout.shader index 99fd0f33..9b2399dd 100644 --- a/Shaders/Unlit_WF_UnToon_Mobile_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_Mobile_TransCutout.shader @@ -166,6 +166,19 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout" { _ES_SC_Sharpness ("[ES] Sharpness", Range(0, 4)) = 1 _ES_SC_Speed ("[ES] ScrollSpeed", Range(0, 8)) = 2 + [Header(Emissive AudioLink)] + [ToggleUI] + _ES_AuLinkEnable ("[ES] Enable AudioLink", Float) = 0 + _ES_AU_MinValue ("[ES] Emission Multiplier (Min)", Range(0, 1)) = 0 + _ES_AU_MaxValue ("[ES] Emission Multiplier (Max)", Range(0, 8)) = 2 + [ToggleUI] + _ES_AU_BlackOut ("[ES] Dont Emit when AudioLink is disabled", Range(0, 1)) = 0 + [Enum(TREBLE,3,HIGH_MIDS,2,LOW_MIDS,1,BASS,0)] + _ES_AU_Band ("[ES] Band", Float) = 0 + _ES_AU_Slope ("[ES] Slope", Range(0, 1)) = 0.2 + _ES_AU_MinThreshold ("[ES] Threshold (Min)", Range(0, 1)) = 0.1 + _ES_AU_MaxThreshold ("[ES] Threshold (Max)", Range(0, 1)) = 0.5 + // Lit [WFHeader(Lit)] [Gamma] @@ -187,6 +200,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -196,7 +211,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 @@ -229,6 +244,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout" { #define _WF_MOBILE #pragma shader_feature_local _ _ES_SCROLL_ENABLE + #pragma shader_feature_local _ _ES_AULINK_ENABLE #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _MT_NORHMAP_ENABLE #pragma shader_feature_local _ _MT_ONLY2ND_ENABLE @@ -236,6 +252,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout" { #pragma shader_feature_local _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local _AO_ENABLE #pragma shader_feature_local _ES_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _HL_ENABLE #pragma shader_feature_local _MT_ENABLE #pragma shader_feature_local _TR_ENABLE @@ -267,6 +284,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout" { #pragma fragment frag_shadow #define _WF_ALPHA_CUTOUT + #define _GL_NCC_ENABLE #pragma multi_compile_shadowcaster #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_Mobile_Transparent.shader b/Shaders/Unlit_WF_UnToon_Mobile_Transparent.shader index b1d16c2d..aff7e169 100644 --- a/Shaders/Unlit_WF_UnToon_Mobile_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_Mobile_Transparent.shader @@ -171,6 +171,21 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent" { _ES_SC_Sharpness ("[ES] Sharpness", Range(0, 4)) = 1 _ES_SC_Speed ("[ES] ScrollSpeed", Range(0, 8)) = 2 + [Header(Emissive AudioLink)] + [ToggleUI] + _ES_AuLinkEnable ("[ES] Enable AudioLink", Float) = 0 + _ES_AU_MinValue ("[ES] Emission Multiplier (Min)", Range(0, 1)) = 0 + _ES_AU_MaxValue ("[ES] Emission Multiplier (Max)", Range(0, 8)) = 2 + [ToggleUI] + _ES_AU_AlphaLink ("[ES] Change Alpha Transparency", Range(0, 1)) = 0 + [ToggleUI] + _ES_AU_BlackOut ("[ES] Dont Emit when AudioLink is disabled", Range(0, 1)) = 0 + [Enum(TREBLE,3,HIGH_MIDS,2,LOW_MIDS,1,BASS,0)] + _ES_AU_Band ("[ES] Band", Float) = 0 + _ES_AU_Slope ("[ES] Slope", Range(0, 1)) = 0.2 + _ES_AU_MinThreshold ("[ES] Threshold (Min)", Range(0, 1)) = 0.1 + _ES_AU_MaxThreshold ("[ES] Threshold (Max)", Range(0, 1)) = 0.5 + // Lit [WFHeader(Lit)] [Gamma] @@ -190,6 +205,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -199,7 +216,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 @@ -262,6 +279,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent" { #define _WF_MOBILE #pragma shader_feature_local _ _ES_SCROLL_ENABLE + #pragma shader_feature_local _ _ES_AULINK_ENABLE #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _MT_NORHMAP_ENABLE #pragma shader_feature_local _ _MT_ONLY2ND_ENABLE @@ -269,6 +287,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent" { #pragma shader_feature_local _ _TS_STEP1_ENABLE _TS_STEP2_ENABLE _TS_STEP3_ENABLE #pragma shader_feature_local _AO_ENABLE #pragma shader_feature_local _ES_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _HL_ENABLE #pragma shader_feature_local _MT_ENABLE #pragma shader_feature_local _TR_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Mobile_TransparentOverlay.shader b/Shaders/Unlit_WF_UnToon_Mobile_TransparentOverlay.shader index 505715ad..d4337c1f 100644 --- a/Shaders/Unlit_WF_UnToon_Mobile_TransparentOverlay.shader +++ b/Shaders/Unlit_WF_UnToon_Mobile_TransparentOverlay.shader @@ -76,6 +76,8 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransparentOverlay" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -85,7 +87,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransparentOverlay" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _ClearBgSupported ("True", Float) = 0 @@ -152,6 +154,7 @@ Shader "UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransparentOverlay" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma multi_compile_fwdbase diff --git a/Shaders/Unlit_WF_UnToon_Opaque.shader b/Shaders/Unlit_WF_UnToon_Opaque.shader index 83173321..0cf59fc8 100644 --- a/Shaders/Unlit_WF_UnToon_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Opaque.shader @@ -356,6 +356,8 @@ Shader "UnlitWF/WF_UnToon_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -365,7 +367,7 @@ Shader "UnlitWF/WF_UnToon_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -394,6 +396,7 @@ Shader "UnlitWF/WF_UnToon_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -440,6 +443,9 @@ Shader "UnlitWF/WF_UnToon_Opaque" { #pragma vertex vert_shadow #pragma fragment frag_shadow + #define _GL_NCC_ENABLE + #define _DSV_ENABLE + #pragma multi_compile_shadowcaster #pragma multi_compile_instancing #pragma multi_compile _ LOD_FADE_CROSSFADE diff --git a/Shaders/Unlit_WF_UnToon_OutlineOnly_Opaque.shader b/Shaders/Unlit_WF_UnToon_OutlineOnly_Opaque.shader index 81567ade..c98412d7 100644 --- a/Shaders/Unlit_WF_UnToon_OutlineOnly_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_OutlineOnly_Opaque.shader @@ -86,10 +86,12 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_OutlineOnly_Opaque", Float) = 0 @@ -121,6 +123,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_OutlineOnly_TransCutout.shader b/Shaders/Unlit_WF_UnToon_OutlineOnly_TransCutout.shader index d777af03..6cb3c648 100644 --- a/Shaders/Unlit_WF_UnToon_OutlineOnly_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_OutlineOnly_TransCutout.shader @@ -98,10 +98,12 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_OutlineOnly_TransCutout", Float) = 0 @@ -137,6 +139,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_TransCutout" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_OutlineOnly_Transparent.shader b/Shaders/Unlit_WF_UnToon_OutlineOnly_Transparent.shader index 9a032963..0ac977ee 100644 --- a/Shaders/Unlit_WF_UnToon_OutlineOnly_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_OutlineOnly_Transparent.shader @@ -97,10 +97,12 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 } SubShader { @@ -135,6 +137,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -166,6 +169,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Transparent" { #pragma target 4.5 + #pragma shader_feature_local _GL_NCC_ENABLE + #pragma multi_compile_fwdbase #pragma multi_compile_fog #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_OutlineOnly_Transparent_MaskOut.shader b/Shaders/Unlit_WF_UnToon_OutlineOnly_Transparent_MaskOut.shader index 5508795b..dc99d916 100644 --- a/Shaders/Unlit_WF_UnToon_OutlineOnly_Transparent_MaskOut.shader +++ b/Shaders/Unlit_WF_UnToon_OutlineOnly_Transparent_MaskOut.shader @@ -102,10 +102,12 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Transparent_MaskOut" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 } SubShader { @@ -146,6 +148,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Transparent_MaskOut" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -183,6 +186,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_OutlineOnly_Transparent_MaskOut" { #pragma target 4.5 + #pragma shader_feature_local _GL_NCC_ENABLE + #pragma multi_compile_fwdbase #pragma multi_compile_fog #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_Outline_Opaque.shader b/Shaders/Unlit_WF_UnToon_Outline_Opaque.shader index 1fe99d46..0539ed42 100644 --- a/Shaders/Unlit_WF_UnToon_Outline_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Outline_Opaque.shader @@ -385,6 +385,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -394,7 +396,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_Opaque", Float) = 0 @@ -425,6 +427,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -458,6 +461,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Outline_TransCutout.shader b/Shaders/Unlit_WF_UnToon_Outline_TransCutout.shader index a260cfe4..1c8cce25 100644 --- a/Shaders/Unlit_WF_UnToon_Outline_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_Outline_TransCutout.shader @@ -397,6 +397,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -406,7 +408,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Outline_TransCutout", Float) = 0 @@ -441,6 +443,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_TransCutout" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -478,6 +481,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_TransCutout" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Outline_Transparent.shader b/Shaders/Unlit_WF_UnToon_Outline_Transparent.shader index 8ad22644..fea2c71e 100644 --- a/Shaders/Unlit_WF_UnToon_Outline_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_Outline_Transparent.shader @@ -409,6 +409,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -418,7 +420,10 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 + [HideInInspector] + [WF_FixFloat(0.0)] + _ClearBgSupported ("True", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -432,7 +437,35 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent" { "VRCFallback" = "UnlitTransparent" } - GrabPass { "_UnToonOutlineCancel" } + Pass { + Name "CLR_BG" + Tags { "LightMode" = "Always" } + + Cull OFF + ZWrite ON + + CGPROGRAM + + #pragma vertex vert_clrbg + #pragma fragment frag_clrbg + + #pragma target 4.5 + + #pragma multi_compile_fwdbase + #pragma multi_compile_instancing + #pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma skip_variants SHADOWS_SCREEN SHADOWS_CUBE + + #include "WF_UnToon_ClearBackground.cginc" + + ENDCG + } + + GrabPass { + "_UnToonOutlineCancel" + Tags { "LightMode" = "ForwardBase" } + } Pass { Name "OUTLINE" @@ -455,6 +488,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -486,6 +520,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent" { #pragma target 4.5 + #pragma shader_feature_local _GL_NCC_ENABLE + #pragma multi_compile_fwdbase #pragma multi_compile_fog #pragma multi_compile_instancing @@ -521,6 +557,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -577,6 +614,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Outline_Transparent3Pass.shader b/Shaders/Unlit_WF_UnToon_Outline_Transparent3Pass.shader index 011e1e96..333ad404 100644 --- a/Shaders/Unlit_WF_UnToon_Outline_Transparent3Pass.shader +++ b/Shaders/Unlit_WF_UnToon_Outline_Transparent3Pass.shader @@ -412,6 +412,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -421,7 +423,10 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 + [HideInInspector] + [WF_FixFloat(0.0)] + _ClearBgSupported ("True", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -435,7 +440,35 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass" { "VRCFallback" = "UnlitCutout" } - GrabPass { "_UnToonOutlineCancel" } + Pass { + Name "CLR_BG" + Tags { "LightMode" = "Always" } + + Cull OFF + ZWrite ON + + CGPROGRAM + + #pragma vertex vert_clrbg + #pragma fragment frag_clrbg + + #pragma target 4.5 + + #pragma multi_compile_fwdbase + #pragma multi_compile_instancing + #pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma skip_variants SHADOWS_SCREEN SHADOWS_CUBE + + #include "WF_UnToon_ClearBackground.cginc" + + ENDCG + } + + GrabPass { + "_UnToonOutlineCancel" + Tags { "LightMode" = "ForwardBase" } + } Pass { Name "OUTLINE" @@ -458,6 +491,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -489,6 +523,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass" { #pragma target 4.5 + #pragma shader_feature_local _GL_NCC_ENABLE + #pragma multi_compile_fwdbase #pragma multi_compile_fog #pragma multi_compile_instancing @@ -523,6 +559,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -581,6 +618,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -638,6 +676,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Outline_Transparent_MaskOut.shader b/Shaders/Unlit_WF_UnToon_Outline_Transparent_MaskOut.shader index 48f6b1b5..b9b5cf56 100644 --- a/Shaders/Unlit_WF_UnToon_Outline_Transparent_MaskOut.shader +++ b/Shaders/Unlit_WF_UnToon_Outline_Transparent_MaskOut.shader @@ -413,6 +413,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -422,7 +424,10 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 + [HideInInspector] + [WF_FixFloat(0.0)] + _ClearBgSupported ("True", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -436,7 +441,35 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut" { "VRCFallback" = "UnlitCutout" } - GrabPass { "_UnToonOutlineCancelLater" } + Pass { + Name "CLR_BG" + Tags { "LightMode" = "Always" } + + Cull OFF + ZWrite ON + + CGPROGRAM + + #pragma vertex vert_clrbg + #pragma fragment frag_clrbg + + #pragma target 4.5 + + #pragma multi_compile_fwdbase + #pragma multi_compile_instancing + #pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma skip_variants SHADOWS_SCREEN SHADOWS_CUBE + + #include "WF_UnToon_ClearBackground.cginc" + + ENDCG + } + + GrabPass { + "_UnToonOutlineCancelLater" + Tags { "LightMode" = "ForwardBase" } + } Pass { Name "OUTLINE" @@ -465,6 +498,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -502,6 +536,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut" { #pragma target 4.5 + #pragma shader_feature_local _GL_NCC_ENABLE + #pragma multi_compile_fwdbase #pragma multi_compile_fog #pragma multi_compile_instancing @@ -543,6 +579,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -605,6 +642,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Outline_Transparent_MaskOut_Blend.shader b/Shaders/Unlit_WF_UnToon_Outline_Transparent_MaskOut_Blend.shader index 4b0e7332..a6b8941c 100644 --- a/Shaders/Unlit_WF_UnToon_Outline_Transparent_MaskOut_Blend.shader +++ b/Shaders/Unlit_WF_UnToon_Outline_Transparent_MaskOut_Blend.shader @@ -414,6 +414,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -423,7 +425,10 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 + [HideInInspector] + [WF_FixFloat(0.0)] + _ClearBgSupported ("True", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -437,7 +442,35 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { "VRCFallback" = "UnlitCutout" } - GrabPass { "_UnToonOutlineCancel" } + Pass { + Name "CLR_BG" + Tags { "LightMode" = "Always" } + + Cull OFF + ZWrite ON + + CGPROGRAM + + #pragma vertex vert_clrbg + #pragma fragment frag_clrbg + + #pragma target 4.5 + + #pragma multi_compile_fwdbase + #pragma multi_compile_instancing + #pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma skip_variants SHADOWS_SCREEN SHADOWS_CUBE + + #include "WF_UnToon_ClearBackground.cginc" + + ENDCG + } + + GrabPass { + "_UnToonOutlineCancelLater" + Tags { "LightMode" = "ForwardBase" } + } Pass { Name "OUTLINE" @@ -466,6 +499,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TL_EDGE_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -497,6 +531,8 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { #pragma target 4.5 + #pragma shader_feature_local _GL_NCC_ENABLE + #pragma multi_compile_fwdbase #pragma multi_compile_fog #pragma multi_compile_instancing @@ -504,7 +540,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { #pragma skip_variants SHADOWS_SCREEN SHADOWS_CUBE - #define _TL_CANCEL_GRAB_TEXTURE _UnToonOutlineCancel + #define _TL_CANCEL_GRAB_TEXTURE _UnToonOutlineCancelLater #include "WF_UnToon_LineCanceller.cginc" @@ -538,6 +574,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -600,6 +637,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -662,6 +700,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -727,6 +766,7 @@ Shader "UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_PowerCap_Opaque.shader b/Shaders/Unlit_WF_UnToon_PowerCap_Opaque.shader index 56ba04e0..ceafd7f2 100644 --- a/Shaders/Unlit_WF_UnToon_PowerCap_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_PowerCap_Opaque.shader @@ -378,6 +378,8 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -387,7 +389,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 @@ -419,6 +421,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_PowerCap_TransCutout.shader b/Shaders/Unlit_WF_UnToon_PowerCap_TransCutout.shader index 43739ebd..9f84c344 100644 --- a/Shaders/Unlit_WF_UnToon_PowerCap_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_PowerCap_TransCutout.shader @@ -390,6 +390,8 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -399,7 +401,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout", Float) = 0 @@ -434,6 +436,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_TransCutout" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_PowerCap_Transparent.shader b/Shaders/Unlit_WF_UnToon_PowerCap_Transparent.shader index 64c851b5..a56453f1 100644 --- a/Shaders/Unlit_WF_UnToon_PowerCap_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_PowerCap_Transparent.shader @@ -412,6 +412,8 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -421,7 +423,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -457,6 +459,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE @@ -514,6 +517,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_PowerCap_Transparent3Pass.shader b/Shaders/Unlit_WF_UnToon_PowerCap_Transparent3Pass.shader index 86f8d134..49fcfa05 100644 --- a/Shaders/Unlit_WF_UnToon_PowerCap_Transparent3Pass.shader +++ b/Shaders/Unlit_WF_UnToon_PowerCap_Transparent3Pass.shader @@ -413,6 +413,8 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent3Pass" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -422,7 +424,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent3Pass" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 @@ -457,6 +459,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE @@ -516,6 +519,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE @@ -574,6 +578,7 @@ Shader "UnlitWF/UnToon_PowerCap/WF_UnToon_PowerCap_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Tess_Opaque.shader b/Shaders/Unlit_WF_UnToon_Tess_Opaque.shader index 4a32f50d..c317645a 100644 --- a/Shaders/Unlit_WF_UnToon_Tess_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_Tess_Opaque.shader @@ -395,6 +395,8 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Opaque" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -404,7 +406,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Outline/WF_UnToon_Outline_Opaque", Float) = 0 @@ -436,6 +438,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Opaque" { #define _WF_UNTOON_TESS #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -473,6 +476,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Opaque" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Tess_TransCutout.shader b/Shaders/Unlit_WF_UnToon_Tess_TransCutout.shader index be2128c5..a46a94f7 100644 --- a/Shaders/Unlit_WF_UnToon_Tess_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_Tess_TransCutout.shader @@ -407,6 +407,8 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -416,7 +418,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Outline/WF_UnToon_Outline_TransCutout", Float) = 0 @@ -451,6 +453,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_TransCutout" { #define _WF_UNTOON_TESS #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -491,6 +494,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_TransCutout" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Tess_Transparent.shader b/Shaders/Unlit_WF_UnToon_Tess_Transparent.shader index d3d3b668..a2c536dd 100644 --- a/Shaders/Unlit_WF_UnToon_Tess_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_Tess_Transparent.shader @@ -404,6 +404,8 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -413,7 +415,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent", Float) = 0 @@ -451,6 +453,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _TS_ENABLE @@ -507,6 +510,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Tess_Transparent3Pass.shader b/Shaders/Unlit_WF_UnToon_Tess_Transparent3Pass.shader index b397e890..7510be85 100644 --- a/Shaders/Unlit_WF_UnToon_Tess_Transparent3Pass.shader +++ b/Shaders/Unlit_WF_UnToon_Tess_Transparent3Pass.shader @@ -422,6 +422,8 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent3Pass" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -431,7 +433,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent3Pass" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Outline/WF_UnToon_Outline_Transparent3Pass", Float) = 0 @@ -468,6 +470,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent3Pass" { #define _WF_UNTOON_TESS #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _TL_ENABLE #pragma shader_feature_local _VC_ENABLE #pragma shader_feature_local_fragment _DSV_ENABLE @@ -499,6 +502,8 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent3Pass" { #pragma target 4.5 + #pragma shader_feature_local _GL_NCC_ENABLE + #pragma multi_compile_fwdbase #pragma multi_compile_fog #pragma multi_compile_instancing @@ -536,6 +541,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -597,6 +603,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -657,6 +664,7 @@ Shader "UnlitWF/UnToon_Tessellation/WF_UnToon_Tess_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_TransCutout.shader b/Shaders/Unlit_WF_UnToon_TransCutout.shader index 4a22fa8a..c3742920 100644 --- a/Shaders/Unlit_WF_UnToon_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_TransCutout.shader @@ -368,6 +368,8 @@ Shader "UnlitWF/WF_UnToon_TransCutout" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -377,7 +379,7 @@ Shader "UnlitWF/WF_UnToon_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout", Float) = 0 @@ -410,6 +412,7 @@ Shader "UnlitWF/WF_UnToon_TransCutout" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -458,6 +461,8 @@ Shader "UnlitWF/WF_UnToon_TransCutout" { #pragma fragment frag_shadow #define _WF_ALPHA_CUTOUT + #define _GL_NCC_ENABLE + #define _DSV_ENABLE #pragma multi_compile_shadowcaster #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_Transparent.shader b/Shaders/Unlit_WF_UnToon_Transparent.shader index 8c81e848..0c85d8d2 100644 --- a/Shaders/Unlit_WF_UnToon_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_Transparent.shader @@ -380,6 +380,8 @@ Shader "UnlitWF/WF_UnToon_Transparent" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -389,7 +391,7 @@ Shader "UnlitWF/WF_UnToon_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _ClearBgSupported ("True", Float) = 0 @@ -451,6 +453,7 @@ Shader "UnlitWF/WF_UnToon_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -506,6 +509,7 @@ Shader "UnlitWF/WF_UnToon_Transparent" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -553,6 +557,8 @@ Shader "UnlitWF/WF_UnToon_Transparent" { #pragma fragment frag_shadow #define _WF_ALPHA_BLEND + #define _GL_NCC_ENABLE + #define _DSV_ENABLE #pragma multi_compile_shadowcaster #pragma multi_compile_instancing diff --git a/Shaders/Unlit_WF_UnToon_Transparent3Pass.shader b/Shaders/Unlit_WF_UnToon_Transparent3Pass.shader index 6854f0e5..c74b7b9f 100644 --- a/Shaders/Unlit_WF_UnToon_Transparent3Pass.shader +++ b/Shaders/Unlit_WF_UnToon_Transparent3Pass.shader @@ -381,6 +381,8 @@ Shader "UnlitWF/WF_UnToon_Transparent3Pass" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -390,7 +392,7 @@ Shader "UnlitWF/WF_UnToon_Transparent3Pass" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _ClearBgSupported ("True", Float) = 0 @@ -451,6 +453,7 @@ Shader "UnlitWF/WF_UnToon_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -508,6 +511,7 @@ Shader "UnlitWF/WF_UnToon_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -564,6 +568,7 @@ Shader "UnlitWF/WF_UnToon_Transparent3Pass" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Transparent_Mask.shader b/Shaders/Unlit_WF_UnToon_Transparent_Mask.shader index f15aa365..d38e729c 100644 --- a/Shaders/Unlit_WF_UnToon_Transparent_Mask.shader +++ b/Shaders/Unlit_WF_UnToon_Transparent_Mask.shader @@ -384,6 +384,8 @@ Shader "UnlitWF/WF_UnToon_Transparent_Mask" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -393,7 +395,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_Mask" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _ClearBgSupported ("True", Float) = 0 @@ -462,6 +464,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_Mask" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -524,6 +527,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_Mask" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Transparent_MaskOut.shader b/Shaders/Unlit_WF_UnToon_Transparent_MaskOut.shader index 33c1f651..e7f64649 100644 --- a/Shaders/Unlit_WF_UnToon_Transparent_MaskOut.shader +++ b/Shaders/Unlit_WF_UnToon_Transparent_MaskOut.shader @@ -384,6 +384,8 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -393,7 +395,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _ClearBgSupported ("True", Float) = 0 @@ -461,6 +463,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -522,6 +525,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_Transparent_MaskOut_Blend.shader b/Shaders/Unlit_WF_UnToon_Transparent_MaskOut_Blend.shader index 365f80e2..71331fdd 100644 --- a/Shaders/Unlit_WF_UnToon_Transparent_MaskOut_Blend.shader +++ b/Shaders/Unlit_WF_UnToon_Transparent_MaskOut_Blend.shader @@ -385,6 +385,8 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut_Blend" { _GL_DisableBackLit ("Disable BackLit", Range(0, 1)) = 0 [ToggleUI] _GL_DisableBasePos ("Disable ObjectBasePos", Range(0, 1)) = 0 + [ToggleUI] + _GL_NCC_Enable ("Cancel Near Clipping", Range(0, 1)) = 0 [WFHeaderToggle(Light Bake Effects)] _LBE_Enable ("[LBE] Enable", Float) = 0 @@ -394,7 +396,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut_Blend" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _ClearBgSupported ("True", Float) = 0 @@ -462,6 +464,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -523,6 +526,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -585,6 +589,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE @@ -649,6 +654,7 @@ Shader "UnlitWF/WF_UnToon_Transparent_MaskOut_Blend" { #pragma shader_feature_local _ _GL_AUTO_ENABLE _GL_ONLYDIR_ENABLE _GL_ONLYPOINT_ENABLE _GL_WSDIR_ENABLE _GL_LSDIR_ENABLE _GL_WSPOS_ENABLE #pragma shader_feature_local _ _TS_FIXC_ENABLE #pragma shader_feature_local _AO_ENABLE + #pragma shader_feature_local _GL_NCC_ENABLE #pragma shader_feature_local _NM_ENABLE #pragma shader_feature_local _NS_ENABLE #pragma shader_feature_local _OVL_ENABLE diff --git a/Shaders/Unlit_WF_UnToon_TriShade_Opaque.shader b/Shaders/Unlit_WF_UnToon_TriShade_Opaque.shader index 7965da35..69e487b5 100644 --- a/Shaders/Unlit_WF_UnToon_TriShade_Opaque.shader +++ b/Shaders/Unlit_WF_UnToon_TriShade_Opaque.shader @@ -311,7 +311,7 @@ Shader "UnlitWF/UnToon_TriShade/WF_UnToon_TriShade_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Opaque", Float) = 0 diff --git a/Shaders/Unlit_WF_UnToon_TriShade_TransCutout.shader b/Shaders/Unlit_WF_UnToon_TriShade_TransCutout.shader index fbb6c4fe..01a82b7a 100644 --- a/Shaders/Unlit_WF_UnToon_TriShade_TransCutout.shader +++ b/Shaders/Unlit_WF_UnToon_TriShade_TransCutout.shader @@ -323,7 +323,7 @@ Shader "UnlitWF/UnToon_TriShade/WF_UnToon_TriShade_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_TransCutout", Float) = 0 diff --git a/Shaders/Unlit_WF_UnToon_TriShade_Transparent.shader b/Shaders/Unlit_WF_UnToon_TriShade_Transparent.shader index b514665a..e59faf28 100644 --- a/Shaders/Unlit_WF_UnToon_TriShade_Transparent.shader +++ b/Shaders/Unlit_WF_UnToon_TriShade_Transparent.shader @@ -331,7 +331,7 @@ Shader "UnlitWF/UnToon_TriShade/WF_UnToon_TriShade_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 diff --git a/Shaders/Unlit_WF_UnToon_TriShade_Transparent3Pass.shader b/Shaders/Unlit_WF_UnToon_TriShade_Transparent3Pass.shader index f4f0db99..5cd20270 100644 --- a/Shaders/Unlit_WF_UnToon_TriShade_Transparent3Pass.shader +++ b/Shaders/Unlit_WF_UnToon_TriShade_Transparent3Pass.shader @@ -334,7 +334,7 @@ Shader "UnlitWF/UnToon_TriShade/WF_UnToon_TriShade_Transparent3Pass" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 diff --git a/Shaders/Unlit_WF_UnToon_TriShade_Transparent_Mask.shader b/Shaders/Unlit_WF_UnToon_TriShade_Transparent_Mask.shader index c98a64ff..47966e6b 100644 --- a/Shaders/Unlit_WF_UnToon_TriShade_Transparent_Mask.shader +++ b/Shaders/Unlit_WF_UnToon_TriShade_Transparent_Mask.shader @@ -318,7 +318,7 @@ Shader "UnlitWF/UnToon_TriShade/WF_UnToon_TriShade_Transparent_Mask" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 diff --git a/Shaders/Unlit_WF_UnToon_TriShade_Transparent_MaskOut.shader b/Shaders/Unlit_WF_UnToon_TriShade_Transparent_MaskOut.shader index ac1d9d3f..6007c2b3 100644 --- a/Shaders/Unlit_WF_UnToon_TriShade_Transparent_MaskOut.shader +++ b/Shaders/Unlit_WF_UnToon_TriShade_Transparent_MaskOut.shader @@ -335,7 +335,7 @@ Shader "UnlitWF/UnToon_TriShade/WF_UnToon_TriShade_Transparent_MaskOut" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 diff --git a/Shaders/Unlit_WF_UnToon_TriShade_Transparent_MaskOut_Blend.shader b/Shaders/Unlit_WF_UnToon_TriShade_Transparent_MaskOut_Blend.shader index 749bac20..76c3b7ad 100644 --- a/Shaders/Unlit_WF_UnToon_TriShade_Transparent_MaskOut_Blend.shader +++ b/Shaders/Unlit_WF_UnToon_TriShade_Transparent_MaskOut_Blend.shader @@ -336,7 +336,7 @@ Shader "UnlitWF/UnToon_TriShade/WF_UnToon_TriShade_Transparent_MaskOut_Blend" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/UnToon_Mobile/WF_UnToon_Mobile_Transparent", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Caustics_Addition.shader b/Shaders/Unlit_WF_Water_Caustics_Addition.shader index abcb9a83..3acd64f4 100644 --- a/Shaders/Unlit_WF_Water_Caustics_Addition.shader +++ b/Shaders/Unlit_WF_Water_Caustics_Addition.shader @@ -65,7 +65,7 @@ Shader "UnlitWF/WF_Water_Caustics_Addition" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_DepthFog_Fade.shader b/Shaders/Unlit_WF_Water_DepthFog_Fade.shader index 0b2b38d2..52152191 100644 --- a/Shaders/Unlit_WF_Water_DepthFog_Fade.shader +++ b/Shaders/Unlit_WF_Water_DepthFog_Fade.shader @@ -29,7 +29,7 @@ Shader "UnlitWF/WF_Water_DepthFog_Fade" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Lamp_Addition.shader b/Shaders/Unlit_WF_Water_Lamp_Addition.shader index 3c5955e2..5d416a2f 100644 --- a/Shaders/Unlit_WF_Water_Lamp_Addition.shader +++ b/Shaders/Unlit_WF_Water_Lamp_Addition.shader @@ -76,7 +76,7 @@ Shader "UnlitWF/WF_Water_Lamp_Addition" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Sun_Addition.shader b/Shaders/Unlit_WF_Water_Sun_Addition.shader index 61330af9..bc0707ac 100644 --- a/Shaders/Unlit_WF_Water_Sun_Addition.shader +++ b/Shaders/Unlit_WF_Water_Sun_Addition.shader @@ -72,7 +72,7 @@ Shader "UnlitWF/WF_Water_Sun_Addition" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_Opaque.shader b/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_Opaque.shader index dd1b4de5..b2484d21 100644 --- a/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_Opaque.shader +++ b/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_Opaque.shader @@ -111,7 +111,7 @@ Shader "UnlitWF/WF_Water_Surface_Custom_Mirror_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_TransCutout.shader b/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_TransCutout.shader index 13543235..e66c5288 100644 --- a/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_TransCutout.shader +++ b/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_TransCutout.shader @@ -120,7 +120,7 @@ Shader "UnlitWF/WF_Water_Surface_Custom_Mirror_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_Transparent.shader b/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_Transparent.shader index b385a1ab..419aaf54 100644 --- a/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_Transparent.shader +++ b/Shaders/Unlit_WF_Water_Surface_Custom_Mirror_Transparent.shader @@ -124,7 +124,7 @@ Shader "UnlitWF/WF_Water_Surface_Custom_Mirror_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Surface_Opaque.shader b/Shaders/Unlit_WF_Water_Surface_Opaque.shader index 408b38a4..05f7fafc 100644 --- a/Shaders/Unlit_WF_Water_Surface_Opaque.shader +++ b/Shaders/Unlit_WF_Water_Surface_Opaque.shader @@ -110,7 +110,7 @@ Shader "UnlitWF/WF_Water_Surface_Opaque" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Surface_TransCutout.shader b/Shaders/Unlit_WF_Water_Surface_TransCutout.shader index a58c47b1..09ae8bd7 100644 --- a/Shaders/Unlit_WF_Water_Surface_TransCutout.shader +++ b/Shaders/Unlit_WF_Water_Surface_TransCutout.shader @@ -119,7 +119,7 @@ Shader "UnlitWF/WF_Water_Surface_TransCutout" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Surface_Transparent.shader b/Shaders/Unlit_WF_Water_Surface_Transparent.shader index 7435b67e..1ea10341 100644 --- a/Shaders/Unlit_WF_Water_Surface_Transparent.shader +++ b/Shaders/Unlit_WF_Water_Surface_Transparent.shader @@ -123,7 +123,7 @@ Shader "UnlitWF/WF_Water_Surface_Transparent" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _QuestSupported ("True", Float) = 0 diff --git a/Shaders/Unlit_WF_Water_Surface_TransparentRefracted.shader b/Shaders/Unlit_WF_Water_Surface_TransparentRefracted.shader index b75802b2..92ce3373 100644 --- a/Shaders/Unlit_WF_Water_Surface_TransparentRefracted.shader +++ b/Shaders/Unlit_WF_Water_Surface_TransparentRefracted.shader @@ -130,7 +130,7 @@ Shader "UnlitWF/WF_Water_Surface_Transparent_Refracted" { [HideInInspector] [WF_FixFloat(0.0)] - _CurrentVersion ("2023/06/25 (1.2.0)", Float) = 0 + _CurrentVersion ("2023/07/10 (1.3.0)", Float) = 0 [HideInInspector] [WF_FixFloat(0.0)] _FallBack ("UnlitWF/WF_Water_Surface_Transparent", Float) = 0 diff --git a/Shaders/WF_Common.cginc b/Shaders/WF_Common.cginc index 7873c16b..cb28eb99 100644 --- a/Shaders/WF_Common.cginc +++ b/Shaders/WF_Common.cginc @@ -70,6 +70,8 @@ #define ONE_VEC3 float3(1, 1, 1) #define ONE_VEC4 float4(1, 1, 1, 1) + #define DISCARD_VS_VERTEX_ZERO UnityObjectToClipPos( float3(0, 0, 0) ) + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) #define _LMAP_ENABLE #endif diff --git a/Shaders/WF_FakeFur.cginc b/Shaders/WF_FakeFur.cginc index c9227412..6a5171a3 100644 --- a/Shaders/WF_FakeFur.cginc +++ b/Shaders/WF_FakeFur.cginc @@ -107,6 +107,7 @@ void transferGeomVertex(inout g2f o, float3 vb, float3 vu, float height) { o.ws_vertex = lerp(vb, vu, height); o.vs_vertex = UnityWorldToClipPos( o.ws_vertex ); + affectNearClipCancel(o.vs_vertex); o.height = height; } diff --git a/Shaders/WF_UnToon.cginc b/Shaders/WF_UnToon.cginc index 2968681a..da461c55 100644 --- a/Shaders/WF_UnToon.cginc +++ b/Shaders/WF_UnToon.cginc @@ -110,6 +110,8 @@ o.light_color = calcLightColorVertex(o.ws_vertex, ambientColor); UNITY_TRANSFER_FOG(o, o.vs_vertex); + affectNearClipCancel(o.vs_vertex); + return o; } @@ -209,14 +211,14 @@ //////////////////////////// float4 shiftOutlineVertex(inout v2f o, float width, float shift) { - return shiftOutlineVertex(o.ws_vertex, o.normal, width, shift); + return shiftOutlineVertex(o.ws_vertex, o.normal, width, shift); // NCC済み } float4 shiftOutlineVertex(inout v2f o) { #ifdef _TL_ENABLE - return shiftOutlineVertex(o, getOutlineShiftWidth(TRANSFORM_TEX(o.uv, _MainTex)), -_TL_Z_Shift); + return shiftOutlineVertex(o, getOutlineShiftWidth(TRANSFORM_TEX(o.uv, _MainTex)), -_TL_Z_Shift); // NCC済み #else - return UnityObjectToClipPos( ZERO_VEC3 ); + return DISCARD_VS_VERTEX_ZERO; #endif } @@ -225,7 +227,7 @@ // 通常の vert を使う v2f o = vert(v); // SV_POSITION を上書き - o.vs_vertex = shiftOutlineVertex(o); + o.vs_vertex = shiftOutlineVertex(o); // NCC済み return o; } @@ -250,9 +252,9 @@ FEATURE_TGL_ON_BEGIN(_TL_Enable) v2f p0 = v[0]; v2f p1 = v[1]; v2f p2 = v[2]; - p0.vs_vertex = shiftOutlineVertex(p0, width0, shift0); - p1.vs_vertex = shiftOutlineVertex(p1, width1, shift1); - p2.vs_vertex = shiftOutlineVertex(p2, width2, shift2); + p0.vs_vertex = shiftOutlineVertex(p0, width0, shift0); // NCC済み + p1.vs_vertex = shiftOutlineVertex(p1, width1, shift1); // NCC済み + p2.vs_vertex = shiftOutlineVertex(p2, width2, shift2); // NCC済み #ifdef _WF_LEGACY_FEATURE_SWITCH if (TGL_OFF(_TL_LineType)) { @@ -274,9 +276,9 @@ FEATURE_TGL_ON_BEGIN(_TL_Enable) v2f n0 = v[0]; v2f n1 = v[1]; v2f n2 = v[2]; - n0.vs_vertex = shiftOutlineVertex(n0, -width0, shift0); - n1.vs_vertex = shiftOutlineVertex(n1, -width1, shift1); - n2.vs_vertex = shiftOutlineVertex(n2, -width2, shift2); + n0.vs_vertex = shiftOutlineVertex(n0, -width0, shift0); // NCC済み + n1.vs_vertex = shiftOutlineVertex(n1, -width1, shift1); // NCC済み + n2.vs_vertex = shiftOutlineVertex(n2, -width2, shift2); // NCC済み triStream.Append(p2); triStream.Append(n2); triStream.Append(p0); diff --git a/Shaders/WF_UnToon_ClearCoat.cginc b/Shaders/WF_UnToon_ClearCoat.cginc index d039ede3..e8269959 100644 --- a/Shaders/WF_UnToon_ClearCoat.cginc +++ b/Shaders/WF_UnToon_ClearCoat.cginc @@ -33,6 +33,7 @@ v2f o = vert(v); // SV_POSITION を上書き o.vs_vertex = shiftNormalAndDepthVertex(o.ws_vertex, o.normal, _CCT_Width * 0.001, -_CCT_Z_Shift); + affectNearClipCancel(o.vs_vertex); return o; } diff --git a/Shaders/WF_UnToon_Function.cginc b/Shaders/WF_UnToon_Function.cginc index a9b05a03..0a59a18c 100644 --- a/Shaders/WF_UnToon_Function.cginc +++ b/Shaders/WF_UnToon_Function.cginc @@ -112,11 +112,7 @@ #endif #ifndef WF_TEX2D_OUTLINE_MASK - #ifndef _WF_LEGACY_TL_MASK - #define WF_TEX2D_OUTLINE_MASK(uv) SAMPLE_MASK_VALUE_LOD(_TL_MaskTex, uv, _TL_InvMaskVal).r - #else - #define WF_TEX2D_OUTLINE_MASK(uv) SAMPLE_MASK_VALUE(_TL_MaskTex, uv, _TL_InvMaskVal).r - #endif + #define WF_TEX2D_OUTLINE_MASK(uv) SAMPLE_MASK_VALUE_LOD(_TL_MaskTex, uv, _TL_InvMaskVal).r #endif #ifndef WF_TEX2D_OCCLUSION @@ -385,6 +381,24 @@ FEATURE_TGL_END return angle_light_camera; } +#ifdef _GL_NCC_ENABLE + void affectNearClipCancel(inout float4 vs_vertex) { +FEATURE_TGL_ON_BEGIN(_GL_NCC_Enable) + if(vs_vertex.w < _ProjectionParams.y * 1.01 && 0 < vs_vertex.w && !isInMirror()) { + #if defined(UNITY_REVERSED_Z) + vs_vertex.z = vs_vertex.z * 0.0001 + vs_vertex.w * 0.999; + #else + vs_vertex.z = vs_vertex.z * 0.0001 - vs_vertex.w * 0.999; + #endif + } +FEATURE_TGL_END + } +#else + // Dummy + #define affectNearClipCancel(vs_vertex) +#endif + + //////////////////////////// // Color Change //////////////////////////// @@ -1224,13 +1238,8 @@ FEATURE_TGL_END #ifdef _TL_ENABLE float getOutlineShiftWidth(float2 uv_main) { - #ifndef _WF_LEGACY_TL_MASK - // マスクをシフト時に太さに反映する場合 - float mask = WF_TEX2D_OUTLINE_MASK(uv_main); - #else - // マスクをfragmentでアルファに反映する場合 - float mask = 1; - #endif + // マスクをシフト時に太さに反映する + float mask = WF_TEX2D_OUTLINE_MASK(uv_main); return _TL_LineWidth * 0.01 * mask; } @@ -1243,19 +1252,7 @@ FEATURE_TGL_ON_BEGIN(_TL_Enable) // アウトラインアルファを反映 #ifdef _WF_ALPHA_BLEND - #ifndef _WF_LEGACY_TL_MASK - // マスクをシフト時に太さに反映する場合 - color.a = _TL_LineColor.a; - #else - // マスクをfragmentでアルファに反映する場合 - float mask = WF_TEX2D_OUTLINE_MASK(uv_main); - if (mask < 0.1) { - color.a = 0; - discard; - } else { - color.a = _TL_LineColor.a * mask; - } - #endif + color.a = _TL_LineColor.a; #endif FEATURE_TGL_END } @@ -1270,14 +1267,16 @@ FEATURE_TGL_END if (TGL_ON(_TL_Enable)) { #endif // Normal方向にシフトとCamera方向にZ-Shiftを行う - return shiftNormalAndDepthVertex(ws_vertex, ws_normal, width, shift); + float4 vs_vertex = shiftNormalAndDepthVertex(ws_vertex, ws_normal, width, shift); + affectNearClipCancel(vs_vertex); + return vs_vertex; #ifdef _WF_LEGACY_FEATURE_SWITCH } else { - return UnityObjectToClipPos( ZERO_VEC3 ); + return DISCARD_VS_VERTEX_ZERO; } #endif #else - return UnityObjectToClipPos( ZERO_VEC3 ); + return DISCARD_VS_VERTEX_ZERO; #endif } diff --git a/Shaders/WF_UnToon_LineCanceller.cginc b/Shaders/WF_UnToon_LineCanceller.cginc index 6d684b88..f791d474 100644 --- a/Shaders/WF_UnToon_LineCanceller.cginc +++ b/Shaders/WF_UnToon_LineCanceller.cginc @@ -66,6 +66,7 @@ #else o.vs_vertex = shiftDepthVertex(o.ws_vertex, _WF_MAIN_Z_SHIFT); // Zシフトした値を使う #endif + affectNearClipCancel(o.vs_vertex); o.uv_grab = ComputeGrabScreenPos(o.vs_vertex); return o; diff --git a/Shaders/WF_UnToon_ShadowCaster.cginc b/Shaders/WF_UnToon_ShadowCaster.cginc index d5a809e6..63f9b641 100644 --- a/Shaders/WF_UnToon_ShadowCaster.cginc +++ b/Shaders/WF_UnToon_ShadowCaster.cginc @@ -41,6 +41,12 @@ #include "WF_UnToon_Function.cginc" + #ifdef _WF_DEPTHONLY_BRP + float _GL_DepthOnlyWidth; + float _GL_DepthOnlyVRCCam; + float _VRChatCameraMode; + #endif + //////////////////////////// // vertex&fragment shader //////////////////////////// @@ -53,13 +59,41 @@ UNITY_TRANSFER_INSTANCE_ID(v, o); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); + +#ifdef _TL_ENABLE + if (TGL_ON(_TL_Enable)) { + float3 ws_vertex = UnityObjectToWorldPos(v.vertex.xyz); + ws_vertex = shiftNormalVertex(ws_vertex, normalize(v.normal), getOutlineShiftWidth(o.uv)); + v.vertex.xyz = UnityWorldToObjectPos(ws_vertex); + } +#endif +#ifdef _WF_DEPTHONLY_BRP + if (0 < _GL_DepthOnlyWidth) { + float3 ws_vertex = UnityObjectToWorldPos(v.vertex.xyz); + ws_vertex = shiftNormalVertex(ws_vertex, normalize(v.normal), _GL_DepthOnlyWidth); + v.vertex.xyz = UnityWorldToObjectPos(ws_vertex); + } +#endif + TRANSFER_SHADOW_CASTER_NORMALOFFSET(o) + +#ifndef _WF_DEPTHONLY_BRP if (TGL_OFF(_GL_CastShadow)) { - // 無効化 - o.pos = UnityObjectToClipPos( float3(0, 0, 0) ); + o.pos = DISCARD_VS_VERTEX_ZERO; + return o; } - o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); - +#else + if (TGL_ON(_GL_DepthOnlyVRCCam) && _VRChatCameraMode == 0) { + o.pos = DISCARD_VS_VERTEX_ZERO; + return o; + } +#endif +#ifdef _GL_NCC_ENABLE + if (TGL_ON(_GL_NCC_Enable)) { + affectNearClipCancel(o.pos); + } +#endif return o; } @@ -82,17 +116,21 @@ #ifdef _AL_ENABLE float4 color = PICK_MAIN_TEX2D(_MainTex, i.uv) * _Color; affectAlphaMask(i.uv, color); + #if defined(_WF_ALPHA_BLEND) if (color.a < _GL_ShadowCutoff) { discard; return float4(0, 0, 0, 0); } + #endif #endif // ディゾルブの考慮 - if (TGL_ON(_DSV_Enable) && _DSV_Dissolve < 1 - 0.05) { - discard; - return float4(0, 0, 0, 0); - } + #ifdef _DSV_ENABLE + if (TGL_ON(_DSV_Enable) && _DSV_Dissolve < 1 - 0.05) { + discard; + return float4(0, 0, 0, 0); + } + #endif return frag_shadow_caster(i); } diff --git a/Shaders/WF_UnToon_Tessellation.cginc b/Shaders/WF_UnToon_Tessellation.cginc index efe47533..9ed6e24f 100644 --- a/Shaders/WF_UnToon_Tessellation.cginc +++ b/Shaders/WF_UnToon_Tessellation.cginc @@ -104,6 +104,7 @@ v2f domain(HsConstantOutput hsConst, const OutputPatch i, float3 bary : SV_DomainLocation) { v2f o = domainCore(hsConst, i, bary); o.vs_vertex = UnityWorldToClipPos(o.ws_vertex.xyz); + affectNearClipCancel(o.vs_vertex); return o; } @@ -111,7 +112,7 @@ v2f domain_outline(HsConstantOutput hsConst, const OutputPatch i, float3 bary : SV_DomainLocation) { v2f o = domainCore(hsConst, i, bary); // SV_POSITION を上書き - o.vs_vertex = shiftOutlineVertex(o); + o.vs_vertex = shiftOutlineVertex(o); // NCC済み return o; } diff --git a/Shaders/WF_UnToon_Uniform.cginc b/Shaders/WF_UnToon_Uniform.cginc index f9cd428c..a14706f0 100644 --- a/Shaders/WF_UnToon_Uniform.cginc +++ b/Shaders/WF_UnToon_Uniform.cginc @@ -52,9 +52,6 @@ DECL_SUB_TEX2D (_LME_Texture); DECL_SUB_TEX2D (_LME_MaskTex); #endif -#ifdef _WF_LEGACY_TL_MASK // マスクをfragmentでアルファに反映する場合 - DECL_SUB_TEX2D (_TL_MaskTex); -#endif // 独自の Sampler で参照するサブテクスチャ ================= @@ -67,9 +64,7 @@ // vert から tex2Dlod で参照するサブテクスチャ ============= -#ifndef _WF_LEGACY_TL_MASK // マスクをシフト時に太さに反映する場合 DECL_VERT_TEX2D (_TL_MaskTex); -#endif #ifdef _WF_UNTOON_TESS DECL_VERT_TEX2D (_TE_SmoothPowerTex); #endif @@ -123,6 +118,7 @@ float3 _GL_CustomLitPos; float _GL_DisableBackLit; float _GL_DisableBasePos; + float _GL_NCC_Enable; // ShadowCasterで参照するため FEATURE_TGL ではなく float で定義 // ------------------------- @@ -313,7 +309,7 @@ // ------------------------- - FEATURE_TGL (_TL_Enable); + float _TL_Enable; // ShadowCasterで参照するため FEATURE_TGL ではなく float で定義 float _TL_LineWidth; uint _TL_LineType; float _TL_Z_Shift; diff --git "a/Template/wf00_Basic_\346\250\231\346\272\226.asset" "b/Template/wf00_Basic_\346\250\231\346\272\226.asset" index a29ea623..5709a692 100644 --- "a/Template/wf00_Basic_\346\250\231\346\272\226.asset" +++ "b/Template/wf00_Basic_\346\250\231\346\272\226.asset" @@ -180,6 +180,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499998 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 - _HL_BlendNormal2_1: 0.1 diff --git "a/Template/wf01_Skin_\350\202\214.asset" "b/Template/wf01_Skin_\350\202\214.asset" index aad4b08a..47ca87b8 100644 --- "a/Template/wf01_Skin_\350\202\214.asset" +++ "b/Template/wf01_Skin_\350\202\214.asset" @@ -205,6 +205,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499998 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 - _HL_BlendNormal2_1: 0.1 diff --git "a/Template/wf02_Face_\351\241\224.asset" "b/Template/wf02_Face_\351\241\224.asset" index c863ac3b..97d3cbb7 100644 --- "a/Template/wf02_Face_\351\241\224.asset" +++ "b/Template/wf02_Face_\351\241\224.asset" @@ -205,6 +205,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499995 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 - _HL_BlendNormal2_1: 0.1 diff --git "a/Template/wf03_Hair_\351\253\252.asset" "b/Template/wf03_Hair_\351\253\252.asset" index 3a153fa4..4af0239a 100644 --- "a/Template/wf03_Hair_\351\253\252.asset" +++ "b/Template/wf03_Hair_\351\253\252.asset" @@ -188,6 +188,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499995 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 - _HL_BlendNormal2_1: 0.1 diff --git "a/Template/wf09_FacialEffect_\350\241\250\346\203\205\343\203\221\343\203\274\343\203\204.asset" "b/Template/wf09_FacialEffect_\350\241\250\346\203\205\343\203\221\343\203\274\343\203\204.asset" index 2086b375..1ffa22cb 100644 --- "a/Template/wf09_FacialEffect_\350\241\250\346\203\205\343\203\221\343\203\274\343\203\204.asset" +++ "b/Template/wf09_FacialEffect_\350\241\250\346\203\205\343\203\221\343\203\274\343\203\204.asset" @@ -70,6 +70,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499998 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _LBE_EmissionMultiplier: 1 - _LBE_Enable: 0 - _LBE_IndirectChroma: 1 diff --git "a/Template/wf21_Metallic_\351\207\221\345\261\236.asset" "b/Template/wf21_Metallic_\351\207\221\345\261\236.asset" index 9ffe5b30..b14da4ed 100644 --- "a/Template/wf21_Metallic_\351\207\221\345\261\236.asset" +++ "b/Template/wf21_Metallic_\351\207\221\345\261\236.asset" @@ -181,6 +181,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499995 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 - _HL_BlendNormal2_1: 0.1 diff --git "a/Template/wf22_Rubber_\343\202\264\343\203\240.asset" "b/Template/wf22_Rubber_\343\202\264\343\203\240.asset" index 94d6b040..18ea1731 100644 --- "a/Template/wf22_Rubber_\343\202\264\343\203\240.asset" +++ "b/Template/wf22_Rubber_\343\202\264\343\203\240.asset" @@ -180,6 +180,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499995 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 - _HL_BlendNormal2_1: 0.1 diff --git "a/Template/wf23_Fur_\343\203\225\343\202\241\343\203\274.asset" "b/Template/wf23_Fur_\343\203\225\343\202\241\343\203\274.asset" index dda6d82f..85c474e4 100644 --- "a/Template/wf23_Fur_\343\203\225\343\202\241\343\203\274.asset" +++ "b/Template/wf23_Fur_\343\203\225\343\202\241\343\203\274.asset" @@ -116,6 +116,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499998 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _HL_CapType: 0 - _HL_CapType_1: 0 - _HL_Enable: 0 diff --git "a/Template/wf25_Ghost_\345\271\275\351\234\212.asset" "b/Template/wf25_Ghost_\345\271\275\351\234\212.asset" index d2bb8e35..c9bca07e 100644 --- "a/Template/wf25_Ghost_\345\271\275\351\234\212.asset" +++ "b/Template/wf25_Ghost_\345\271\275\351\234\212.asset" @@ -176,6 +176,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499998 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 - _HL_BlendNormal2_1: 0.1 diff --git "a/Template/wf26_GlassLens_\343\202\254\343\203\251\343\202\271\343\203\254\343\203\263\343\202\272.asset" "b/Template/wf26_GlassLens_\343\202\254\343\203\251\343\202\271\343\203\254\343\203\263\343\202\272.asset" index 14e1f808..3709f802 100644 --- "a/Template/wf26_GlassLens_\343\202\254\343\203\251\343\202\271\343\203\254\343\203\263\343\202\272.asset" +++ "b/Template/wf26_GlassLens_\343\202\254\343\203\251\343\202\271\343\203\254\343\203\263\343\202\272.asset" @@ -32,8 +32,7 @@ Material: m_DoubleSidedGI: 0 m_CustomRenderQueue: 3200 stringTagMap: {} - disabledShaderPasses: - - ALWAYS + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -166,7 +165,6 @@ Material: - _CRF_Enable: 1 - _CRF_RefractiveIndex: 1.53 - _Category: 0 - - _ClearBgSupported: 0 - _CullMode: 0 - _CurrentVersion: 0 - _DFD_BackShadow: 1 @@ -205,6 +203,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499998 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _GL_ShadowCutoff: 0.1 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 diff --git "a/Template/wf27_FrostedGlass_\343\201\217\343\202\202\343\202\212\343\202\254\343\203\251\343\202\271.asset" "b/Template/wf27_FrostedGlass_\343\201\217\343\202\202\343\202\212\343\202\254\343\203\251\343\202\271.asset" index 47ef9cb0..346f5822 100644 --- "a/Template/wf27_FrostedGlass_\343\201\217\343\202\202\343\202\212\343\202\254\343\203\251\343\202\271.asset" +++ "b/Template/wf27_FrostedGlass_\343\201\217\343\202\202\343\202\212\343\202\254\343\203\251\343\202\271.asset" @@ -32,8 +32,7 @@ Material: m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} - disabledShaderPasses: - - ALWAYS + disabledShaderPasses: [] m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -156,7 +155,6 @@ Material: - _CGL_BlurMode: 0 - _CGL_Enable: 1 - _Category: 0 - - _ClearBgSupported: 0 - _CullMode: 2 - _CurrentVersion: 0 - _DetailNormalMapScale: 0.4 @@ -190,6 +188,7 @@ Material: - _GL_LevelMax: 0.8 - _GL_LevelMin: 0.12499998 - _GL_LightMode: 0 + - _GL_NCC_Enable: 0 - _GL_ShadowCutoff: 0.1 - _HL_BlendNormal: 0.1 - _HL_BlendNormal2: 0.1 diff --git a/version.json b/version.json index 7af6cdf7..112c0c64 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{ "latestVersion": "2023/06/25 (1.2.0)", "downloadPage": "/releases/tag/UnlitWF_Shader_20230625" } \ No newline at end of file +{ "latestVersion": "2023/07/10 (1.3.0)", "downloadPage": "/releases/tag/UnlitWF_Shader_20230710" } \ No newline at end of file