mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-09-14 14:59:43 -05:00
mv
This commit is contained in:
@@ -16,15 +16,15 @@ namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
|
||||
public void Validate()
|
||||
{
|
||||
var alphaMode = (AlphaMode) _material.GetInt(MToon10Prop.AlphaMode);
|
||||
var zWriteMode = (TransparentWithZWriteMode) _material.GetInt(MToon10Prop.TransparentWithZWrite);
|
||||
var alphaMode = (MToon10AlphaMode) _material.GetInt(MToon10Prop.AlphaMode);
|
||||
var zWriteMode = (MToon10TransparentWithZWriteMode) _material.GetInt(MToon10Prop.TransparentWithZWrite);
|
||||
var renderQueueOffset = _material.GetInt(MToon10Prop.RenderQueueOffsetNumber);
|
||||
var doubleSidedMode = (DoubleSidedMode) _material.GetInt(MToon10Prop.DoubleSided);
|
||||
var doubleSidedMode = (MToon10DoubleSidedMode) _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)
|
||||
private static void SetUnityShaderPassSettings(Material material, MToon10AlphaMode alphaMode, MToon10TransparentWithZWriteMode zWriteMode, int renderQueueOffset, MToon10DoubleSidedMode doubleSidedMode)
|
||||
{
|
||||
material.SetInt(MToon10Prop.AlphaMode, (int) alphaMode);
|
||||
material.SetInt(MToon10Prop.TransparentWithZWrite, (int) zWriteMode);
|
||||
@@ -32,7 +32,7 @@ namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
|
||||
switch (alphaMode)
|
||||
{
|
||||
case AlphaMode.Opaque:
|
||||
case MToon10AlphaMode.Opaque:
|
||||
material.SetOverrideTag(UnityRenderTag.Key, UnityRenderTag.OpaqueValue);
|
||||
material.SetInt(MToon10Prop.UnitySrcBlend, (int) BlendMode.One);
|
||||
material.SetInt(MToon10Prop.UnityDstBlend, (int) BlendMode.Zero);
|
||||
@@ -42,7 +42,7 @@ namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
renderQueueOffset = 0;
|
||||
material.renderQueue = (int) RenderQueue.Geometry;
|
||||
break;
|
||||
case AlphaMode.Cutout:
|
||||
case MToon10AlphaMode.Cutout:
|
||||
material.SetOverrideTag(UnityRenderTag.Key, UnityRenderTag.TransparentCutoutValue);
|
||||
material.SetInt(MToon10Prop.UnitySrcBlend, (int) BlendMode.One);
|
||||
material.SetInt(MToon10Prop.UnityDstBlend, (int) BlendMode.Zero);
|
||||
@@ -52,7 +52,7 @@ namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
renderQueueOffset = 0;
|
||||
material.renderQueue = (int) RenderQueue.AlphaTest;
|
||||
break;
|
||||
case AlphaMode.Transparent when zWriteMode == TransparentWithZWriteMode.Off:
|
||||
case MToon10AlphaMode.Transparent when zWriteMode == MToon10TransparentWithZWriteMode.Off:
|
||||
material.SetOverrideTag(UnityRenderTag.Key, UnityRenderTag.TransparentValue);
|
||||
material.SetInt(MToon10Prop.UnitySrcBlend, (int) BlendMode.SrcAlpha);
|
||||
material.SetInt(MToon10Prop.UnityDstBlend, (int) BlendMode.OneMinusSrcAlpha);
|
||||
@@ -62,7 +62,7 @@ namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
renderQueueOffset = Mathf.Clamp(renderQueueOffset, -9, 0);
|
||||
material.renderQueue = (int) RenderQueue.Transparent + renderQueueOffset;
|
||||
break;
|
||||
case AlphaMode.Transparent when zWriteMode == TransparentWithZWriteMode.On:
|
||||
case MToon10AlphaMode.Transparent when zWriteMode == MToon10TransparentWithZWriteMode.On:
|
||||
material.SetOverrideTag(UnityRenderTag.Key, UnityRenderTag.TransparentValue);
|
||||
material.SetInt(MToon10Prop.UnitySrcBlend, (int) BlendMode.SrcAlpha);
|
||||
material.SetInt(MToon10Prop.UnityDstBlend, (int) BlendMode.OneMinusSrcAlpha);
|
||||
@@ -78,10 +78,10 @@ namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
|
||||
switch (doubleSidedMode)
|
||||
{
|
||||
case DoubleSidedMode.Off:
|
||||
case MToon10DoubleSidedMode.Off:
|
||||
material.SetInt(MToon10Prop.UnityCullMode, (int) CullMode.Back);
|
||||
break;
|
||||
case DoubleSidedMode.On:
|
||||
case MToon10DoubleSidedMode.On:
|
||||
material.SetInt(MToon10Prop.UnityCullMode, (int) CullMode.Off);
|
||||
break;
|
||||
default:
|
||||
@@ -92,7 +92,7 @@ namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
material.SetInt(MToon10Prop.RenderQueueOffsetNumber, renderQueueOffset);
|
||||
}
|
||||
|
||||
private static void SetUnityCullingSettings(Material material, DoubleSidedMode doubleSidedMode)
|
||||
private static void SetUnityCullingSettings(Material material, MToon10DoubleSidedMode doubleSidedMode)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -101,42 +101,42 @@ namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
material.SetKeyword(
|
||||
UnityAlphaModeKeyword.AlphaTest,
|
||||
(AlphaMode) material.GetInt(MToon10Prop.AlphaMode) == AlphaMode.Cutout
|
||||
(MToon10AlphaMode) material.GetInt(MToon10Prop.AlphaMode) == MToon10AlphaMode.Cutout
|
||||
);
|
||||
material.SetKeyword(
|
||||
UnityAlphaModeKeyword.AlphaBlend,
|
||||
(AlphaMode) material.GetInt(MToon10Prop.AlphaMode) == AlphaMode.Transparent
|
||||
(MToon10AlphaMode) material.GetInt(MToon10Prop.AlphaMode) == MToon10AlphaMode.Transparent
|
||||
);
|
||||
material.SetKeyword(
|
||||
UnityAlphaModeKeyword.AlphaPremultiply,
|
||||
false
|
||||
);
|
||||
material.SetKeyword(
|
||||
NormalMapKeyword.On,
|
||||
MToon10NormalMapKeyword.On,
|
||||
material.GetTexture(MToon10Prop.NormalTexture) != null
|
||||
);
|
||||
material.SetKeyword(
|
||||
EmissiveMapKeyword.On,
|
||||
MToon10EmissiveMapKeyword.On,
|
||||
material.GetTexture(MToon10Prop.EmissiveTexture) != null
|
||||
);
|
||||
material.SetKeyword(
|
||||
RimMapKeyword.On,
|
||||
MToon10RimMapKeyword.On,
|
||||
material.GetTexture(MToon10Prop.MatcapTexture) != null || // Matcap
|
||||
material.GetTexture(MToon10Prop.RimMultiplyTexture) != null // Rim
|
||||
);
|
||||
material.SetKeyword(
|
||||
ParameterMapKeyword.On,
|
||||
MToon10ParameterMapKeyword.On,
|
||||
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(MToon10Prop.OutlineWidthMode) == OutlineMode.World
|
||||
MToon10OutlineModeKeyword.World,
|
||||
(MToon10OutlineMode) material.GetInt(MToon10Prop.OutlineWidthMode) == MToon10OutlineMode.World
|
||||
);
|
||||
material.SetKeyword(
|
||||
OutlineModeKeyword.Screen,
|
||||
(OutlineMode) material.GetInt(MToon10Prop.OutlineWidthMode) == OutlineMode.Screen
|
||||
MToon10OutlineModeKeyword.Screen,
|
||||
(MToon10OutlineMode) material.GetInt(MToon10Prop.OutlineWidthMode) == MToon10OutlineMode.Screen
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public enum AlphaMode
|
||||
public enum MToon10AlphaMode
|
||||
{
|
||||
Opaque = 0,
|
||||
Cutout = 1,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public enum DoubleSidedMode
|
||||
public enum MToon10DoubleSidedMode
|
||||
{
|
||||
Off = 0,
|
||||
On = 1,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public static class EmissiveMapKeyword
|
||||
public static class MToon10EmissiveMapKeyword
|
||||
{
|
||||
public const string On = "_MTOON_EMISSIVEMAP";
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public static class NormalMapKeyword
|
||||
public static class MToon10NormalMapKeyword
|
||||
{
|
||||
public const string On = "_NORMALMAP";
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public enum OutlineMode
|
||||
public enum MToon10OutlineMode
|
||||
{
|
||||
None = 0,
|
||||
World = 1,
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public static class OutlineModeKeyword
|
||||
public static class MToon10OutlineModeKeyword
|
||||
{
|
||||
public const string World = "_MTOON_OUTLINE_WORLD";
|
||||
public const string Screen = "_MTOON_OUTLINE_SCREEN";
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public static class ParameterMapKeyword
|
||||
public static class MToon10ParameterMapKeyword
|
||||
{
|
||||
public const string On = "_MTOON_PARAMETERMAP";
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public static class RimMapKeyword
|
||||
public static class MToon10RimMapKeyword
|
||||
{
|
||||
public const string On = "_MTOON_RIMMAP";
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace VRMShaders.VRM10.MToon10.Runtime
|
||||
{
|
||||
public enum TransparentWithZWriteMode
|
||||
public enum MToon10TransparentWithZWriteMode
|
||||
{
|
||||
Off = 0,
|
||||
On = 1,
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d1d968d263d340c48c2bebaca85bbbbe
|
||||
timeCreated: 1623308194
|
||||
Reference in New Issue
Block a user