From 4880e4125f529496a48269eda545ca006db17646 Mon Sep 17 00:00:00 2001 From: yum Date: Mon, 30 Dec 2024 18:31:06 -0800 Subject: Begin adding gimmicks for downstairs map Included changes: * Update LTCGI includes * Add toggle to force world lighting * Unity fucking sucks dick and balls and doesn't set LIGHTMAP_ON consistently * Add some more sdfs for raymarching * Add separate LTCGI lighting mode for avatar vs. world --- Editor/tooner.cs | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) (limited to 'Editor') diff --git a/Editor/tooner.cs b/Editor/tooner.cs index 60a5c2d..118c0fa 100644 --- a/Editor/tooner.cs +++ b/Editor/tooner.cs @@ -1802,6 +1802,118 @@ public class ToonerGUI : ShaderGUI { EditorGUI.indentLevel -= 1; } + void DoGimmickDownstairs2() { + MaterialProperty bc; + bc = FindProperty("_Gimmick_DS2_Enable_Static"); + bool enabled = (bc.floatValue != 0.0); + EditorGUI.BeginChangeCheck(); + enabled = Toggle("Downstairs 2", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + SetKeyword("_GIMMICK_DS2", enabled); + + if (!enabled) { + return; + } + + EditorGUI.indentLevel += 1; + + bc = FindProperty("_Gimmick_DS2_Mask"); + TexturePropertySingleLine(MakeLabel(bc, "Mask"), bc); + bc = FindProperty("_Gimmick_DS2_Noise"); + TexturePropertySingleLine(MakeLabel(bc, "Noise"), bc); + bc = FindProperty("_Gimmick_DS2_Albedo_Factor"); + FloatProperty(bc, "Albedo factor"); + bc = FindProperty("_Gimmick_DS2_Emission_Factor"); + FloatProperty(bc, "Emission factor"); + + bc = FindProperty("_Gimmick_DS2_00_Enable_Dynamic"); + enabled = (bc.floatValue != 0.0); + EditorGUI.BeginChangeCheck(); + enabled = Toggle("Enable effect 00", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + + if (enabled) { + EditorGUI.indentLevel += 1; + + bc = FindProperty("_Gimmick_DS2_00_Domain_Warping_Octaves"); + FloatProperty(bc, "Domain warping octaves"); + bc = FindProperty("_Gimmick_DS2_00_Domain_Warping_Strength"); + FloatProperty(bc, "Domain warping strength"); + bc = FindProperty("_Gimmick_DS2_00_Domain_Warping_Scale"); + FloatProperty(bc, "Domain warping scale"); + bc = FindProperty("_Gimmick_DS2_00_Domain_Warping_Speed"); + FloatProperty(bc, "Domain warping speed"); + + EditorGUI.indentLevel -= 1; + } + + bc = FindProperty("_Gimmick_DS2_01_Enable_Dynamic"); + enabled = (bc.floatValue != 0.0); + EditorGUI.BeginChangeCheck(); + enabled = Toggle("Enable effect 01", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + + if (enabled) { + EditorGUI.indentLevel += 1; + + bc = FindProperty("_Gimmick_DS2_01_Period"); + VectorProperty(bc, "Period"); + bc = FindProperty("_Gimmick_DS2_01_Count"); + VectorProperty(bc, "Count"); + bc = FindProperty("_Gimmick_DS2_01_Radius"); + FloatProperty(bc, "Radius"); + + bc = FindProperty("_Gimmick_DS2_01_Domain_Warping_Octaves"); + FloatProperty(bc, "Domain warping octaves"); + bc = FindProperty("_Gimmick_DS2_01_Domain_Warping_Strength"); + FloatProperty(bc, "Domain warping strength"); + bc = FindProperty("_Gimmick_DS2_01_Domain_Warping_Scale"); + FloatProperty(bc, "Domain warping scale"); + bc = FindProperty("_Gimmick_DS2_01_Domain_Warping_Speed"); + FloatProperty(bc, "Domain warping speed"); + + EditorGUI.indentLevel -= 1; + } + + bc = FindProperty("_Gimmick_DS2_02_Enable_Dynamic"); + enabled = (bc.floatValue != 0.0); + EditorGUI.BeginChangeCheck(); + enabled = Toggle("Enable effect 02", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + + if (enabled) { + EditorGUI.indentLevel += 1; + + EditorGUI.indentLevel -= 1; + } + + bc = FindProperty("_Gimmick_DS2_03_Enable_Dynamic"); + enabled = (bc.floatValue != 0.0); + EditorGUI.BeginChangeCheck(); + enabled = Toggle("Enable effect 03", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + + if (enabled) { + EditorGUI.indentLevel += 1; + + bc = FindProperty("_Gimmick_DS2_03_Period"); + VectorProperty(bc, "Period"); + bc = FindProperty("_Gimmick_DS2_03_Count"); + VectorProperty(bc, "Count"); + bc = FindProperty("_Gimmick_DS2_03_Edge_Length"); + FloatProperty(bc, "Edge length"); + + EditorGUI.indentLevel -= 1; + } + + EditorGUI.indentLevel -= 1; + } + void DoGimmickHalo00() { MaterialProperty bc; bc = FindProperty("_Gimmick_Halo00_Enable_Static"); @@ -2473,6 +2585,7 @@ public class ToonerGUI : ShaderGUI { DoGimmickEyes00(); DoGimmickEyes01(); DoGimmickEyes02(); + DoGimmickDownstairs2(); DoGimmickHalo00(); DoGimmickPixellate(); DoGimmickTrochoid(); @@ -2963,6 +3076,14 @@ public class ToonerGUI : ShaderGUI { EditorGUI.indentLevel -= 1; } + bc = FindProperty("_Force_World_Lighting"); + enabled = bc.floatValue > 1E-6; + EditorGUI.BeginChangeCheck(); + enabled = Toggle("Force world lighting", enabled); + EditorGUI.EndChangeCheck(); + bc.floatValue = enabled ? 1.0f : 0.0f; + SetKeyword("_FORCE_WORLD_LIGHTING", enabled); + bc = FindProperty("_Aces_Filmic_Enable_Static"); enabled = bc.floatValue > 1E-6; EditorGUI.BeginChangeCheck(); -- cgit v1.2.3