From aa932e9df0691f1de27fb44e06e8d786400c3d2a Mon Sep 17 00:00:00 2001 From: yum Date: Fri, 26 Jul 2024 15:14:29 -0700 Subject: Add facing quad gimmick Gimmick makes the quad face the camera, pivoting around the world-space Y axis and the local coordinate system origin. --- Editor/tooner.cs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'Editor') 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() { -- cgit v1.2.3