summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-07-09 14:07:29 -0700
committeryum <yum.food.vr@gmail.com>2024-07-09 14:07:29 -0700
commita4c1f583e151e33cd9979a9429c622309e8e9ea6 (patch)
tree1f5424c1f73f34f8371eba04406277b62ae2ba7a
parentc9c6cbbe7ad1cd904c1b999d7820a1940f507833 (diff)
Add hacky multiplier to location quantization gimmick
Useful for animation.
-rw-r--r--Editor/tooner.cs2
-rw-r--r--globals.cginc1
-rw-r--r--tooner.shader9
-rw-r--r--tooner_lighting.cginc2
4 files changed, 9 insertions, 5 deletions
diff --git a/Editor/tooner.cs b/Editor/tooner.cs
index 0e6b6e3..dedc28c 100644
--- a/Editor/tooner.cs
+++ b/Editor/tooner.cs
@@ -853,6 +853,8 @@ public class ToonerGUI : ShaderGUI {
editor.FloatProperty(bc, "Precision");
bc = FindProperty("_Gimmick_Quantize_Location_Direction");
editor.FloatProperty(bc, "Direction");
+ bc = FindProperty("_Gimmick_Quantize_Location_Multiplier");
+ editor.RangeProperty(bc, "Multiplier");
bc = FindProperty("_Gimmick_Quantize_Location_Mask");
editor.TexturePropertySingleLine(
MakeLabel(bc, "Mask"),
diff --git a/globals.cginc b/globals.cginc
index cc5f170..f243da3 100644
--- a/globals.cginc
+++ b/globals.cginc
@@ -302,6 +302,7 @@ float _Gimmick_Quantize_Location_Enable_Static;
float _Gimmick_Quantize_Location_Enable_Dynamic;
float _Gimmick_Quantize_Location_Precision;
float _Gimmick_Quantize_Location_Direction;
+float _Gimmick_Quantize_Location_Multiplier;
texture2D _Gimmick_Quantize_Location_Mask;
#endif
diff --git a/tooner.shader b/tooner.shader
index 487bf5e..88a148f 100644
--- a/tooner.shader
+++ b/tooner.shader
@@ -238,10 +238,11 @@ Shader "yum_food/tooner"
_Gimmick_Flat_Color_Emission("Flat color gimmick emission", Color) = (0, 0, 0, 1)
_Gimmick_Quantize_Location_Enable_Static("Enable quantize location gimmick", Float) = 0.0
- _Gimmick_Quantize_Location_Enable_Dynamic("Enable quantize location gimmick", Float) = 0.0
- _Gimmick_Quantize_Location_Precision("Enable quantize location precision", Float) = 100.0
- _Gimmick_Quantize_Location_Direction("Enable quantize location direction", Float) = 1.0
- _Gimmick_Quantize_Location_Mask("Enable quantize location mask", 2D) = "white" {}
+ _Gimmick_Quantize_Location_Enable_Dynamic("quantize location gimmick", Float) = 0.0
+ _Gimmick_Quantize_Location_Precision("quantize location precision", Float) = 100.0
+ _Gimmick_Quantize_Location_Direction("quantize location direction", Float) = 1.0
+ _Gimmick_Quantize_Location_Multiplier("quantize location multiplier", Range(0.01, 4)) = 1.0
+ _Gimmick_Quantize_Location_Mask("Mask", 2D) = "white" {}
_Gimmick_Vertex_Normal_Slide_Enable_Static("Enable vertex normal slide", Float) = 0.0
_Gimmick_Vertex_Normal_Slide_Enable_Dynamic("Enable vertex normal slide", Float) = 0.0
diff --git a/tooner_lighting.cginc b/tooner_lighting.cginc
index abeef2a..14faa8d 100644
--- a/tooner_lighting.cginc
+++ b/tooner_lighting.cginc
@@ -65,7 +65,7 @@ v2f vert(appdata v)
#if defined(_GIMMICK_QUANTIZE_LOCATION)
if (_Gimmick_Quantize_Location_Enable_Dynamic) {
- float q = _Gimmick_Quantize_Location_Precision;
+ float q = _Gimmick_Quantize_Location_Precision / _Gimmick_Quantize_Location_Multiplier;
float3 v_new0 = floor(v.vertex * q) / q;
float3 d = v_new0 - v.vertex;
float3 v_new1 = v.vertex - d;