summaryrefslogtreecommitdiffstats
path: root/Editor/tooner.cs
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2024-07-26 15:14:29 -0700
committeryum <yum.food.vr@gmail.com>2024-07-26 15:14:29 -0700
commitaa932e9df0691f1de27fb44e06e8d786400c3d2a (patch)
treeb7193b584ab4341354965ab3489ffa3f8a1a88aa /Editor/tooner.cs
parent50699410bf33f143531eae080e1e0e068da504cd (diff)
Add facing quad gimmick
Gimmick makes the quad face the camera, pivoting around the world-space Y axis and the local coordinate system origin.
Diffstat (limited to 'Editor/tooner.cs')
-rw-r--r--Editor/tooner.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/Editor/tooner.cs b/Editor/tooner.cs
index 7442ca5..189cfd0 100644
--- a/Editor/tooner.cs
+++ b/Editor/tooner.cs
@@ -1075,6 +1075,39 @@ public class ToonerGUI : ShaderGUI {
EditorGUI.indentLevel -= 1;
}
+ void DoGimmickFaceMeWorldY() {
+ MaterialProperty bc;
+ bc = FindProperty("_FaceMeWorldY_Enable_Static");
+ bool enabled = (bc.floatValue != 0.0);
+ EditorGUI.BeginChangeCheck();
+ enabled = EditorGUILayout.Toggle("FaceMeWorldY", enabled);
+ EditorGUI.EndChangeCheck();
+ bc.floatValue = enabled ? 1.0f : 0.0f;
+ SetKeyword("_FACE_ME_WORLD_Y", enabled);
+
+ if (!enabled) {
+ return;
+ }
+
+ EditorGUI.indentLevel += 1;
+
+ bc = FindProperty("_FaceMeWorldY_Enable_Dynamic");
+ enabled = (bc.floatValue != 0.0);
+ EditorGUI.BeginChangeCheck();
+ enabled = EditorGUILayout.Toggle("Enable (runtime switch)", enabled);
+ EditorGUI.EndChangeCheck();
+ bc.floatValue = enabled ? 1.0f : 0.0f;
+
+ bc = FindProperty("_FaceMeWorldY_Enable_X");
+ editor.FloatProperty(bc, "X");
+ bc = FindProperty("_FaceMeWorldY_Enable_Y");
+ editor.FloatProperty(bc, "Y");
+ bc = FindProperty("_FaceMeWorldY_Enable_Z");
+ editor.FloatProperty(bc, "Z");
+
+ EditorGUI.indentLevel -= 1;
+ }
+
void DoGimmicks() {
DoGimmickFlatColor();
@@ -1084,6 +1117,7 @@ public class ToonerGUI : ShaderGUI {
DoGimmickEyes00();
DoGimmickPixellate();
DoGimmickTrochoid();
+ DoGimmickFaceMeWorldY();
}
void DoMochieParams() {