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