This commit is contained in:
Masataka SUMI
2021-06-10 15:47:10 +09:00
parent aa803d3edc
commit b2fe35739c
45 changed files with 178 additions and 162 deletions

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 3f051e7d892a4bccbcc8fd1f4c2ca162
timeCreated: 1622456532

View File

@@ -21,65 +21,65 @@ namespace VRMShaders.VRM10.MToon10.Editor
using (new LabelScope("Rendering"))
{
PopupEnum<AlphaMode>("Alpha Mode", props[Prop.AlphaMode], materialEditor);
var alphaMode = (AlphaMode) (int) props[Prop.AlphaMode].floatValue;
PopupEnum<AlphaMode>("Alpha Mode", props[MToon10Prop.AlphaMode], materialEditor);
var alphaMode = (AlphaMode) (int) props[MToon10Prop.AlphaMode].floatValue;
if (alphaMode == AlphaMode.Transparent)
{
PopupEnum<TransparentWithZWriteMode>(
"Transparent With ZWrite Mode",
props[Prop.TransparentWithZWrite],
props[MToon10Prop.TransparentWithZWrite],
materialEditor
);
}
if (alphaMode == AlphaMode.Cutout)
{
materialEditor.ShaderProperty(props[Prop.AlphaCutoff], "Cutoff");
materialEditor.ShaderProperty(props[MToon10Prop.AlphaCutoff], "Cutoff");
}
PopupEnum<DoubleSidedMode>("Double Sided", props[Prop.DoubleSided], materialEditor);
PopupEnum<DoubleSidedMode>("Double Sided", props[MToon10Prop.DoubleSided], materialEditor);
materialEditor.ShaderProperty(props[Prop.RenderQueueOffsetNumber], "RenderQueue Offset");
materialEditor.ShaderProperty(props[MToon10Prop.RenderQueueOffsetNumber], "RenderQueue Offset");
}
using (new LabelScope("Lighting"))
{
materialEditor.TexturePropertySingleLine(
new GUIContent("Lit Color, Alpha", "Lit (RGB), Alpha (A)"),
props[Prop.BaseColorTexture],
props[Prop.BaseColorFactor]
props[MToon10Prop.BaseColorTexture],
props[MToon10Prop.BaseColorFactor]
);
materialEditor.TexturePropertySingleLine(
new GUIContent("Shade Color", "Shade (RGB)"),
props[Prop.ShadeColorTexture],
props[Prop.ShadeColorFactor]
props[MToon10Prop.ShadeColorTexture],
props[MToon10Prop.ShadeColorFactor]
);
materialEditor.TexturePropertySingleLine(
new GUIContent("Normal Map", "Normal Map (RGB)"),
props[Prop.NormalTexture],
props[Prop.NormalTextureScale]
props[MToon10Prop.NormalTexture],
props[MToon10Prop.NormalTextureScale]
);
materialEditor.ShaderProperty(props[Prop.ShadingShiftFactor], "Shading Shift");
materialEditor.ShaderProperty(props[Prop.ShadingToonyFactor], "Shading Toony");
materialEditor.ShaderProperty(props[MToon10Prop.ShadingShiftFactor], "Shading Shift");
materialEditor.ShaderProperty(props[MToon10Prop.ShadingToonyFactor], "Shading Toony");
materialEditor.TexturePropertySingleLine(
new GUIContent("Additive Shading Shift", "Shading Shift (R)"),
props[Prop.ShadingShiftTexture],
props[Prop.ShadingShiftTextureScale]
props[MToon10Prop.ShadingShiftTexture],
props[MToon10Prop.ShadingShiftTextureScale]
);
}
using (new LabelScope("Global Illumination"))
{
materialEditor.ShaderProperty(props[Prop.GiEqualizationFactor], "GI Equalization");
materialEditor.ShaderProperty(props[MToon10Prop.GiEqualizationFactor], "GI Equalization");
}
using (new LabelScope("Emission"))
{
materialEditor.TexturePropertySingleLine(
new GUIContent("Emission", "Emission (RGB)"),
props[Prop.EmissiveTexture],
props[Prop.EmissiveFactor]
props[MToon10Prop.EmissiveTexture],
props[MToon10Prop.EmissiveFactor]
);
}
@@ -87,48 +87,48 @@ namespace VRMShaders.VRM10.MToon10.Editor
{
materialEditor.TexturePropertySingleLine(
new GUIContent("Rim Color", "Rim Color (RGB)"),
props[Prop.RimMultiplyTexture]
props[MToon10Prop.RimMultiplyTexture]
);
materialEditor.ShaderProperty(
props[Prop.RimLightingMixFactor],
props[MToon10Prop.RimLightingMixFactor],
new GUIContent("Rim LightingMix")
);
EditorGUILayout.Space();
materialEditor.TexturePropertySingleLine(
new GUIContent("Matcap Rim", "Matcap Rim (RGB)"),
props[Prop.MatcapTexture]
props[MToon10Prop.MatcapTexture]
);
EditorGUILayout.Space();
materialEditor.ShaderProperty(
props[Prop.ParametricRimColorFactor],
props[MToon10Prop.ParametricRimColorFactor],
new GUIContent("Parametric Rim Color")
);
materialEditor.ShaderProperty(
props[Prop.ParametricRimFresnelPowerFactor],
props[MToon10Prop.ParametricRimFresnelPowerFactor],
new GUIContent("Parametric Rim Fresnel Power")
);
materialEditor.ShaderProperty(
props[Prop.ParametricRimLiftFactor],
props[MToon10Prop.ParametricRimLiftFactor],
new GUIContent("Parametric Rim Lift")
);
}
using (new LabelScope("Outline"))
{
PopupEnum<OutlineMode>("Outline Mode", props[Prop.OutlineWidthMode], materialEditor);
PopupEnum<OutlineMode>("Outline Mode", props[MToon10Prop.OutlineWidthMode], materialEditor);
materialEditor.TexturePropertySingleLine(
new GUIContent("Outline Width", "Outline Width (G) [meter]"),
props[Prop.OutlineWidthMultiplyTexture],
props[Prop.OutlineWidthFactor]
props[MToon10Prop.OutlineWidthMultiplyTexture],
props[MToon10Prop.OutlineWidthFactor]
);
materialEditor.ShaderProperty(
props[Prop.OutlineColorFactor],
props[MToon10Prop.OutlineColorFactor],
new GUIContent("Outline Color")
);
materialEditor.ShaderProperty(
props[Prop.OutlineLightingMixFactor],
props[MToon10Prop.OutlineLightingMixFactor],
new GUIContent("Outline LightingMix")
);
}
@@ -137,18 +137,18 @@ namespace VRMShaders.VRM10.MToon10.Editor
{
materialEditor.TexturePropertySingleLine(
new GUIContent("Mask", "Mask (B)"),
props[Prop.UvAnimationMaskTexture]
props[MToon10Prop.UvAnimationMaskTexture]
);
materialEditor.ShaderProperty(
props[Prop.UvAnimationScrollXSpeedFactor],
props[MToon10Prop.UvAnimationScrollXSpeedFactor],
new GUIContent("Translate X")
);
materialEditor.ShaderProperty(
props[Prop.UvAnimationScrollYSpeedFactor],
props[MToon10Prop.UvAnimationScrollYSpeedFactor],
new GUIContent("Translate Y")
);
materialEditor.ShaderProperty(
props[Prop.UvAnimationRotationSpeedFactor],
props[MToon10Prop.UvAnimationRotationSpeedFactor],
new GUIContent("Rotation")
);
}
@@ -165,11 +165,11 @@ namespace VRMShaders.VRM10.MToon10.Editor
var mat = materials[0];
EditorGUILayout.LabelField("RenderQueue", mat.renderQueue.ToString());
EditorGUILayout.LabelField("Cull", ((CullMode) props[Prop.UnityCullMode].floatValue).ToString());
EditorGUILayout.LabelField("SrcBlend", ((BlendMode) props[Prop.UnitySrcBlend].floatValue).ToString());
EditorGUILayout.LabelField("DstBlend", ((BlendMode) props[Prop.UnityDstBlend].floatValue).ToString());
EditorGUILayout.LabelField("ZWrite", ((UnityZWriteMode) props[Prop.UnityZWrite].floatValue).ToString());
EditorGUILayout.LabelField("AlphaToMask", ((UnityAlphaToMaskMode) props[Prop.UnityAlphaToMask].floatValue).ToString());
EditorGUILayout.LabelField("Cull", ((CullMode) props[MToon10Prop.UnityCullMode].floatValue).ToString());
EditorGUILayout.LabelField("SrcBlend", ((BlendMode) props[MToon10Prop.UnitySrcBlend].floatValue).ToString());
EditorGUILayout.LabelField("DstBlend", ((BlendMode) props[MToon10Prop.UnityDstBlend].floatValue).ToString());
EditorGUILayout.LabelField("ZWrite", ((UnityZWriteMode) props[MToon10Prop.UnityZWrite].floatValue).ToString());
EditorGUILayout.LabelField("AlphaToMask", ((UnityAlphaToMaskMode) props[MToon10Prop.UnityAlphaToMask].floatValue).ToString());
EditorGUILayout.LabelField("Enabled Keywords", string.Join("\n", mat.shaderKeywords), EditorStyles.textArea);
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 757975a3fecf43b1ad7b288185f6c7fd
timeCreated: 1623307417

View File

@@ -1,7 +1,7 @@
using UnityEngine;
using VRMShaders.VRM10.MToon10.Runtime;
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class MaterialExtensions
{
@@ -17,17 +17,17 @@ namespace VRMShaders.VRM10.MToon10.Editor
}
}
public static int GetInt(this Material mat, Prop prop)
public static int GetInt(this Material mat, MToon10Prop prop)
{
return mat.GetInt(prop.ToUnityShaderLabName());
}
public static void SetInt(this Material mat, Prop prop, int val)
public static void SetInt(this Material mat, MToon10Prop prop, int val)
{
mat.SetInt(prop.ToUnityShaderLabName(), val);
}
public static Texture GetTexture(this Material mat, Prop prop)
public static Texture GetTexture(this Material mat, MToon10Prop prop)
{
return mat.GetTexture(prop.ToUnityShaderLabName());
}

View File

@@ -0,0 +1,7 @@
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class MToon10Meta
{
public static readonly string UnityShaderName = "Hidden/VRM10/vrmc_materials_mtoon";
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4cb4057134654c769422a3618b76bccc
timeCreated: 1623307086

View File

@@ -5,7 +5,7 @@ namespace VRMShaders.VRM10.MToon10.Runtime
/// <summary>
/// Migrate from VRM 0.x MToon to VRM 1.0 vrmc_materials_mtoon
/// </summary>
public sealed class MToonMigrator
public static class MToon10Migrator
{
/// <summary>
/// mtoon.shadingToonyFactor

View File

@@ -1,63 +0,0 @@
using System.Collections.Generic;
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class MToon10Properties
{
private static readonly Dictionary<Prop, string> _unityShaderLabNames = new Dictionary<Prop, string>
{
[Prop.AlphaMode] = "_AlphaMode",
[Prop.TransparentWithZWrite] = "_TransparentWithZWrite",
[Prop.AlphaCutoff] = "_Cutoff",
[Prop.RenderQueueOffsetNumber] = "_RenderQueueOffset",
[Prop.DoubleSided] = "_DoubleSided",
[Prop.BaseColorFactor] = "_Color",
[Prop.BaseColorTexture] = "_MainTex",
[Prop.ShadeColorFactor] = "_ShadeColor",
[Prop.ShadeColorTexture] = "_ShadeTex",
[Prop.NormalTexture] = "_BumpMap",
[Prop.NormalTextureScale] = "_BumpScale",
[Prop.ShadingShiftFactor] = "_ShadingShiftFactor",
[Prop.ShadingShiftTexture] = "_ShadingShiftTex",
[Prop.ShadingShiftTextureScale] = "_ShadingShiftTexScale",
[Prop.ShadingToonyFactor] = "_ShadingToonyFactor",
[Prop.GiEqualizationFactor] = "_GiEqualization",
[Prop.EmissiveFactor] = "_EmissionColor",
[Prop.EmissiveTexture] = "_EmissionMap",
[Prop.MatcapTexture] = "_MatcapTex",
[Prop.ParametricRimColorFactor] = "_RimColor",
[Prop.ParametricRimFresnelPowerFactor] = "_RimFresnelPower",
[Prop.ParametricRimLiftFactor] = "_RimLift",
[Prop.RimMultiplyTexture] = "_RimTex",
[Prop.RimLightingMixFactor] = "_RimLightingMix",
[Prop.OutlineWidthMode] = "_OutlineWidthMode",
[Prop.OutlineWidthFactor] = "_OutlineWidth",
[Prop.OutlineWidthMultiplyTexture] = "_OutlineWidthTex",
[Prop.OutlineColorFactor] = "_OutlineColor",
[Prop.OutlineLightingMixFactor] = "_OutlineLightingMix",
[Prop.UvAnimationMaskTexture] = "_UvAnimMaskTex",
[Prop.UvAnimationScrollXSpeedFactor] = "_UvAnimScrollXSpeed",
[Prop.UvAnimationScrollYSpeedFactor] = "_UvAnimScrollYSpeed",
[Prop.UvAnimationRotationSpeedFactor] = "_UvAnimRotationSpeed",
[Prop.UnityCullMode] = "_M_CullMode",
[Prop.UnitySrcBlend] = "_M_SrcBlend",
[Prop.UnityDstBlend] = "_M_DstBlend",
[Prop.UnityZWrite] = "_M_ZWrite",
[Prop.UnityAlphaToMask] = "_M_AlphaToMask",
};
public static IReadOnlyDictionary<Prop, string> UnityShaderLabNames => _unityShaderLabNames;
public static string ToUnityShaderLabName(this Prop prop)
{
return UnityShaderLabNames[prop];
}
}
}

View File

@@ -3,7 +3,7 @@ using UnityEngine;
using UnityEngine.Rendering;
using VRMShaders.VRM10.MToon10.Runtime;
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public sealed class MToonValidator
{
@@ -16,58 +16,58 @@ namespace VRMShaders.VRM10.MToon10.Editor
public void Validate()
{
var alphaMode = (AlphaMode) _material.GetInt(Prop.AlphaMode);
var zWriteMode = (TransparentWithZWriteMode) _material.GetInt(Prop.TransparentWithZWrite);
var renderQueueOffset = _material.GetInt(Prop.RenderQueueOffsetNumber);
var doubleSidedMode = (DoubleSidedMode) _material.GetInt(Prop.DoubleSided);
var alphaMode = (AlphaMode) _material.GetInt(MToon10Prop.AlphaMode);
var zWriteMode = (TransparentWithZWriteMode) _material.GetInt(MToon10Prop.TransparentWithZWrite);
var renderQueueOffset = _material.GetInt(MToon10Prop.RenderQueueOffsetNumber);
var doubleSidedMode = (DoubleSidedMode) _material.GetInt(MToon10Prop.DoubleSided);
SetUnityShaderPassSettings(_material, alphaMode, zWriteMode, renderQueueOffset, doubleSidedMode);
SetUnityShaderVariants(_material);
}
private static void SetUnityShaderPassSettings(Material material, AlphaMode alphaMode, TransparentWithZWriteMode zWriteMode, int renderQueueOffset, DoubleSidedMode doubleSidedMode)
{
material.SetInt(Prop.AlphaMode, (int) alphaMode);
material.SetInt(Prop.TransparentWithZWrite, (int) zWriteMode);
material.SetInt(Prop.DoubleSided, (int) doubleSidedMode);
material.SetInt(MToon10Prop.AlphaMode, (int) alphaMode);
material.SetInt(MToon10Prop.TransparentWithZWrite, (int) zWriteMode);
material.SetInt(MToon10Prop.DoubleSided, (int) doubleSidedMode);
switch (alphaMode)
{
case AlphaMode.Opaque:
material.SetOverrideTag(UnityRenderTag.Key, UnityRenderTag.OpaqueValue);
material.SetInt(Prop.UnitySrcBlend, (int) BlendMode.One);
material.SetInt(Prop.UnityDstBlend, (int) BlendMode.Zero);
material.SetInt(Prop.UnityZWrite, (int) UnityZWriteMode.On);
material.SetInt(Prop.UnityAlphaToMask, (int) UnityAlphaToMaskMode.Off);
material.SetInt(MToon10Prop.UnitySrcBlend, (int) BlendMode.One);
material.SetInt(MToon10Prop.UnityDstBlend, (int) BlendMode.Zero);
material.SetInt(MToon10Prop.UnityZWrite, (int) UnityZWriteMode.On);
material.SetInt(MToon10Prop.UnityAlphaToMask, (int) UnityAlphaToMaskMode.Off);
renderQueueOffset = 0;
material.renderQueue = (int) RenderQueue.Geometry;
break;
case AlphaMode.Cutout:
material.SetOverrideTag(UnityRenderTag.Key, UnityRenderTag.TransparentCutoutValue);
material.SetInt(Prop.UnitySrcBlend, (int) BlendMode.One);
material.SetInt(Prop.UnityDstBlend, (int) BlendMode.Zero);
material.SetInt(Prop.UnityZWrite, (int) UnityZWriteMode.On);
material.SetInt(Prop.UnityAlphaToMask, (int) UnityAlphaToMaskMode.On);
material.SetInt(MToon10Prop.UnitySrcBlend, (int) BlendMode.One);
material.SetInt(MToon10Prop.UnityDstBlend, (int) BlendMode.Zero);
material.SetInt(MToon10Prop.UnityZWrite, (int) UnityZWriteMode.On);
material.SetInt(MToon10Prop.UnityAlphaToMask, (int) UnityAlphaToMaskMode.On);
renderQueueOffset = 0;
material.renderQueue = (int) RenderQueue.AlphaTest;
break;
case AlphaMode.Transparent when zWriteMode == TransparentWithZWriteMode.Off:
material.SetOverrideTag(UnityRenderTag.Key, UnityRenderTag.TransparentValue);
material.SetInt(Prop.UnitySrcBlend, (int) BlendMode.SrcAlpha);
material.SetInt(Prop.UnityDstBlend, (int) BlendMode.OneMinusSrcAlpha);
material.SetInt(Prop.UnityZWrite, (int) UnityZWriteMode.Off);
material.SetInt(Prop.UnityAlphaToMask, (int) UnityAlphaToMaskMode.Off);
material.SetInt(MToon10Prop.UnitySrcBlend, (int) BlendMode.SrcAlpha);
material.SetInt(MToon10Prop.UnityDstBlend, (int) BlendMode.OneMinusSrcAlpha);
material.SetInt(MToon10Prop.UnityZWrite, (int) UnityZWriteMode.Off);
material.SetInt(MToon10Prop.UnityAlphaToMask, (int) UnityAlphaToMaskMode.Off);
renderQueueOffset = Mathf.Clamp(renderQueueOffset, -9, 0);
material.renderQueue = (int) RenderQueue.Transparent + renderQueueOffset;
break;
case AlphaMode.Transparent when zWriteMode == TransparentWithZWriteMode.On:
material.SetOverrideTag(UnityRenderTag.Key, UnityRenderTag.TransparentValue);
material.SetInt(Prop.UnitySrcBlend, (int) BlendMode.SrcAlpha);
material.SetInt(Prop.UnityDstBlend, (int) BlendMode.OneMinusSrcAlpha);
material.SetInt(Prop.UnityZWrite, (int) UnityZWriteMode.On);
material.SetInt(Prop.UnityAlphaToMask, (int) UnityAlphaToMaskMode.Off);
material.SetInt(MToon10Prop.UnitySrcBlend, (int) BlendMode.SrcAlpha);
material.SetInt(MToon10Prop.UnityDstBlend, (int) BlendMode.OneMinusSrcAlpha);
material.SetInt(MToon10Prop.UnityZWrite, (int) UnityZWriteMode.On);
material.SetInt(MToon10Prop.UnityAlphaToMask, (int) UnityAlphaToMaskMode.Off);
renderQueueOffset = Mathf.Clamp(renderQueueOffset, 0, +9);
material.renderQueue = (int) RenderQueue.GeometryLast + 1 + renderQueueOffset; // Transparent First + N
@@ -79,17 +79,17 @@ namespace VRMShaders.VRM10.MToon10.Editor
switch (doubleSidedMode)
{
case DoubleSidedMode.Off:
material.SetInt(Prop.UnityCullMode, (int) CullMode.Back);
material.SetInt(MToon10Prop.UnityCullMode, (int) CullMode.Back);
break;
case DoubleSidedMode.On:
material.SetInt(Prop.UnityCullMode, (int) CullMode.Off);
material.SetInt(MToon10Prop.UnityCullMode, (int) CullMode.Off);
break;
default:
throw new ArgumentOutOfRangeException(nameof(doubleSidedMode), doubleSidedMode, null);
}
// Set after validation
material.SetInt(Prop.RenderQueueOffsetNumber, renderQueueOffset);
material.SetInt(MToon10Prop.RenderQueueOffsetNumber, renderQueueOffset);
}
private static void SetUnityCullingSettings(Material material, DoubleSidedMode doubleSidedMode)
@@ -101,11 +101,11 @@ namespace VRMShaders.VRM10.MToon10.Editor
{
material.SetKeyword(
UnityAlphaModeKeyword.AlphaTest,
(AlphaMode) material.GetInt(Prop.AlphaMode) == AlphaMode.Cutout
(AlphaMode) material.GetInt(MToon10Prop.AlphaMode) == AlphaMode.Cutout
);
material.SetKeyword(
UnityAlphaModeKeyword.AlphaBlend,
(AlphaMode) material.GetInt(Prop.AlphaMode) == AlphaMode.Transparent
(AlphaMode) material.GetInt(MToon10Prop.AlphaMode) == AlphaMode.Transparent
);
material.SetKeyword(
UnityAlphaModeKeyword.AlphaPremultiply,
@@ -113,30 +113,30 @@ namespace VRMShaders.VRM10.MToon10.Editor
);
material.SetKeyword(
NormalMapKeyword.On,
material.GetTexture(Prop.NormalTexture) != null
material.GetTexture(MToon10Prop.NormalTexture) != null
);
material.SetKeyword(
EmissiveMapKeyword.On,
material.GetTexture(Prop.EmissiveTexture) != null
material.GetTexture(MToon10Prop.EmissiveTexture) != null
);
material.SetKeyword(
RimMapKeyword.On,
material.GetTexture(Prop.MatcapTexture) != null || // Matcap
material.GetTexture(Prop.RimMultiplyTexture) != null // Rim
material.GetTexture(MToon10Prop.MatcapTexture) != null || // Matcap
material.GetTexture(MToon10Prop.RimMultiplyTexture) != null // Rim
);
material.SetKeyword(
ParameterMapKeyword.On,
material.GetTexture(Prop.ShadingShiftTexture) != null || // Shading Shift (R)
material.GetTexture(Prop.OutlineWidthMultiplyTexture) != null || // Outline Width (G)
material.GetTexture(Prop.UvAnimationMaskTexture) != null // UV Anim Mask (B)
material.GetTexture(MToon10Prop.ShadingShiftTexture) != null || // Shading Shift (R)
material.GetTexture(MToon10Prop.OutlineWidthMultiplyTexture) != null || // Outline Width (G)
material.GetTexture(MToon10Prop.UvAnimationMaskTexture) != null // UV Anim Mask (B)
);
material.SetKeyword(
OutlineModeKeyword.World,
(OutlineMode) material.GetInt(Prop.OutlineWidthMode) == OutlineMode.World
(OutlineMode) material.GetInt(MToon10Prop.OutlineWidthMode) == OutlineMode.World
);
material.SetKeyword(
OutlineModeKeyword.Screen,
(OutlineMode) material.GetInt(Prop.OutlineWidthMode) == OutlineMode.Screen
(OutlineMode) material.GetInt(MToon10Prop.OutlineWidthMode) == OutlineMode.Screen
);
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f9b3c71ed31c4ffba700ebf1f8705524
timeCreated: 1623307328

View File

@@ -1,6 +1,6 @@
namespace VRMShaders.VRM10.MToon10.Runtime
{
public enum Prop
public enum MToon10Prop
{
// Rendering
AlphaMode,

View File

@@ -0,0 +1,63 @@
using System.Collections.Generic;
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class MToon10Properties
{
private static readonly Dictionary<MToon10Prop, string> _unityShaderLabNames = new Dictionary<MToon10Prop, string>
{
[MToon10Prop.AlphaMode] = "_AlphaMode",
[MToon10Prop.TransparentWithZWrite] = "_TransparentWithZWrite",
[MToon10Prop.AlphaCutoff] = "_Cutoff",
[MToon10Prop.RenderQueueOffsetNumber] = "_RenderQueueOffset",
[MToon10Prop.DoubleSided] = "_DoubleSided",
[MToon10Prop.BaseColorFactor] = "_Color",
[MToon10Prop.BaseColorTexture] = "_MainTex",
[MToon10Prop.ShadeColorFactor] = "_ShadeColor",
[MToon10Prop.ShadeColorTexture] = "_ShadeTex",
[MToon10Prop.NormalTexture] = "_BumpMap",
[MToon10Prop.NormalTextureScale] = "_BumpScale",
[MToon10Prop.ShadingShiftFactor] = "_ShadingShiftFactor",
[MToon10Prop.ShadingShiftTexture] = "_ShadingShiftTex",
[MToon10Prop.ShadingShiftTextureScale] = "_ShadingShiftTexScale",
[MToon10Prop.ShadingToonyFactor] = "_ShadingToonyFactor",
[MToon10Prop.GiEqualizationFactor] = "_GiEqualization",
[MToon10Prop.EmissiveFactor] = "_EmissionColor",
[MToon10Prop.EmissiveTexture] = "_EmissionMap",
[MToon10Prop.MatcapTexture] = "_MatcapTex",
[MToon10Prop.ParametricRimColorFactor] = "_RimColor",
[MToon10Prop.ParametricRimFresnelPowerFactor] = "_RimFresnelPower",
[MToon10Prop.ParametricRimLiftFactor] = "_RimLift",
[MToon10Prop.RimMultiplyTexture] = "_RimTex",
[MToon10Prop.RimLightingMixFactor] = "_RimLightingMix",
[MToon10Prop.OutlineWidthMode] = "_OutlineWidthMode",
[MToon10Prop.OutlineWidthFactor] = "_OutlineWidth",
[MToon10Prop.OutlineWidthMultiplyTexture] = "_OutlineWidthTex",
[MToon10Prop.OutlineColorFactor] = "_OutlineColor",
[MToon10Prop.OutlineLightingMixFactor] = "_OutlineLightingMix",
[MToon10Prop.UvAnimationMaskTexture] = "_UvAnimMaskTex",
[MToon10Prop.UvAnimationScrollXSpeedFactor] = "_UvAnimScrollXSpeed",
[MToon10Prop.UvAnimationScrollYSpeedFactor] = "_UvAnimScrollYSpeed",
[MToon10Prop.UvAnimationRotationSpeedFactor] = "_UvAnimRotationSpeed",
[MToon10Prop.UnityCullMode] = "_M_CullMode",
[MToon10Prop.UnitySrcBlend] = "_M_SrcBlend",
[MToon10Prop.UnityDstBlend] = "_M_DstBlend",
[MToon10Prop.UnityZWrite] = "_M_ZWrite",
[MToon10Prop.UnityAlphaToMask] = "_M_AlphaToMask",
};
public static IReadOnlyDictionary<MToon10Prop, string> UnityShaderLabNames => _unityShaderLabNames;
public static string ToUnityShaderLabName(this MToon10Prop prop)
{
return UnityShaderLabNames[prop];
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5f987f36ced048ae95acea66b5eeb2dc
timeCreated: 1623307328

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public enum AlphaMode
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public enum DoubleSidedMode
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class EmissiveMapKeyword
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class NormalMapKeyword
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public enum OutlineMode
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class OutlineModeKeyword
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class ParameterMapKeyword
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class RimMapKeyword
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public enum TransparentWithZWriteMode
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class UnityAlphaModeKeyword
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public enum UnityAlphaToMaskMode
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public static class UnityRenderTag
{

View File

@@ -1,4 +1,4 @@
namespace VRMShaders.VRM10.MToon10.Editor
namespace VRMShaders.VRM10.MToon10.Runtime
{
public enum UnityZWriteMode
{