diff options
| author | yum <yum.food.vr@gmail.com> | 2024-07-26 15:14:29 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2024-07-26 15:14:29 -0700 |
| commit | aa932e9df0691f1de27fb44e06e8d786400c3d2a (patch) | |
| tree | b7193b584ab4341354965ab3489ffa3f8a1a88aa /Editor/tooner.cs | |
| parent | 50699410bf33f143531eae080e1e0e068da504cd (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.cs | 34 |
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() { |
