diff options
Diffstat (limited to 'Editor')
| -rw-r--r-- | Editor/tooner.cs | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/Editor/tooner.cs b/Editor/tooner.cs index 5bb21f9..184b653 100644 --- a/Editor/tooner.cs +++ b/Editor/tooner.cs @@ -678,7 +678,9 @@ public class ToonerGUI : ShaderGUI { enum RenderingMode { Opaque, Cutout, - Fade + Fade, + Transparent, + TransClipping, } enum CutoutMode { @@ -692,6 +694,10 @@ public class ToonerGUI : ShaderGUI { mode = RenderingMode.Cutout; } else if (target.IsKeywordEnabled("_RENDERING_FADE")) { mode = RenderingMode.Fade; + } else if (target.IsKeywordEnabled("_RENDERING_TRANSPARENT")) { + mode = RenderingMode.Transparent; + } else if (target.IsKeywordEnabled("_RENDERING_TRANSCLIPPING")) { + mode = RenderingMode.TransClipping; } EditorGUI.BeginChangeCheck(); @@ -705,6 +711,8 @@ public class ToonerGUI : ShaderGUI { RecordAction("Rendering mode"); SetKeyword("_RENDERING_CUTOUT", mode == RenderingMode.Cutout); SetKeyword("_RENDERING_FADE", mode == RenderingMode.Fade); + SetKeyword("_RENDERING_TRANSPARENT", mode == RenderingMode.Transparent); + SetKeyword("_RENDERING_TRANSCLIPPING", mode == RenderingMode.TransClipping); RenderQueue queue = RenderQueue.Geometry; string render_type = ""; @@ -730,6 +738,20 @@ public class ToonerGUI : ShaderGUI { dst_blend = BlendMode.OneMinusSrcAlpha; zwrite = false; break; + case RenderingMode.Transparent: + queue = RenderQueue.Transparent; + render_type = "Transparent"; + src_blend = BlendMode.One; + dst_blend = BlendMode.OneMinusSrcAlpha; + zwrite = false; + break; + case RenderingMode.TransClipping: + queue = RenderQueue.AlphaTest; + render_type = "Transparent"; + src_blend = BlendMode.One; + dst_blend = BlendMode.OneMinusSrcAlpha; + zwrite = true; + break; } foreach (Material m in editor.targets) { m.renderQueue = (int) queue; |
