您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
206 行
5.5 KiB
206 行
5.5 KiB
using UnityEngine;
|
|
|
|
namespace VRMShaders.VRM10.MToon10.Runtime
|
|
{
|
|
public sealed class MToon10Context
|
|
{
|
|
private readonly Material _material;
|
|
|
|
public MToon10Context(Material material)
|
|
{
|
|
_material = material;
|
|
}
|
|
|
|
public void Validate()
|
|
{
|
|
new MToonValidator(_material).Validate();
|
|
}
|
|
|
|
// Rendering
|
|
public MToon10AlphaMode AlphaMode
|
|
{
|
|
get => (MToon10AlphaMode) _material.GetInt(MToon10Prop.AlphaMode);
|
|
}
|
|
|
|
public MToon10TransparentWithZWriteMode TransparentWithZWriteMode
|
|
{
|
|
get => (MToon10TransparentWithZWriteMode) _material.GetInt(MToon10Prop.TransparentWithZWrite);
|
|
}
|
|
|
|
public float AlphaCutoff
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.AlphaCutoff);
|
|
}
|
|
|
|
public int RenderQueueOffsetNumber
|
|
{
|
|
get => _material.GetInt(MToon10Prop.RenderQueueOffsetNumber);
|
|
}
|
|
|
|
public MToon10DoubleSidedMode DoubleSidedMode
|
|
{
|
|
get => (MToon10DoubleSidedMode) _material.GetInt(MToon10Prop.DoubleSided);
|
|
}
|
|
|
|
// Lighting
|
|
public Color BaseColorFactorSrgb
|
|
{
|
|
get => _material.GetColor(MToon10Prop.BaseColorFactor);
|
|
}
|
|
|
|
public Texture BaseColorTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.BaseColorTexture);
|
|
}
|
|
|
|
public Color ShadeColorFactorSrgb
|
|
{
|
|
get => _material.GetColor(MToon10Prop.ShadeColorFactor);
|
|
}
|
|
|
|
public Texture ShadeColorTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.ShadeColorTexture);
|
|
}
|
|
|
|
public Texture NormalTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.NormalTexture);
|
|
}
|
|
|
|
public float NormalTextureScale
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.NormalTextureScale);
|
|
}
|
|
|
|
public float ShadingShiftFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.ShadingShiftFactor);
|
|
}
|
|
|
|
public Texture ShadingShiftTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.ShadingShiftTexture);
|
|
}
|
|
|
|
public float ShadingShiftTextureScale
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.ShadingShiftTextureScale);
|
|
}
|
|
|
|
public float ShadingToonyFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.ShadingToonyFactor);
|
|
}
|
|
|
|
// GI
|
|
public float GiEqualizationFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.GiEqualizationFactor);
|
|
}
|
|
|
|
// Emission
|
|
public Color EmissiveFactorLinear
|
|
{
|
|
// Emissive factor is stored in Linear space
|
|
get => _material.GetColor(MToon10Prop.EmissiveFactor);
|
|
}
|
|
|
|
public Texture EmissiveTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.EmissiveTexture);
|
|
}
|
|
// Rim Lighting
|
|
public Color MatcapColorFactorSrgb
|
|
{
|
|
get => _material.GetColor(MToon10Prop.MatcapColorFactor);
|
|
}
|
|
public Texture MatcapTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.MatcapTexture);
|
|
}
|
|
|
|
public Color ParametricRimColorFactorSrgb
|
|
{
|
|
get => _material.GetColor(MToon10Prop.ParametricRimColorFactor);
|
|
}
|
|
|
|
public float ParametricRimFresnelPowerFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.ParametricRimFresnelPowerFactor);
|
|
}
|
|
|
|
public float ParametricRimLiftFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.ParametricRimLiftFactor);
|
|
}
|
|
|
|
public Texture RimMultiplyTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.RimMultiplyTexture);
|
|
}
|
|
|
|
public float RimLightingMixFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.RimLightingMixFactor);
|
|
}
|
|
|
|
// Outline
|
|
public MToon10OutlineMode OutlineWidthMode
|
|
{
|
|
get => (MToon10OutlineMode) _material.GetInt(MToon10Prop.OutlineWidthMode);
|
|
}
|
|
|
|
public float OutlineWidthFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.OutlineWidthFactor);
|
|
}
|
|
|
|
public Texture OutlineWidthMultiplyTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.OutlineWidthMultiplyTexture);
|
|
}
|
|
|
|
public Color OutlineColorFactorSrgb
|
|
{
|
|
get => _material.GetColor(MToon10Prop.OutlineColorFactor);
|
|
}
|
|
|
|
public float OutlineLightingMixFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.OutlineLightingMixFactor);
|
|
}
|
|
|
|
// UV Animation
|
|
public Texture UvAnimationMaskTexture
|
|
{
|
|
get => _material.GetTexture(MToon10Prop.UvAnimationMaskTexture);
|
|
}
|
|
|
|
public float UvAnimationScrollXSpeedFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.UvAnimationScrollXSpeedFactor);
|
|
}
|
|
|
|
public float UvAnimationScrollYSpeedFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.UvAnimationScrollYSpeedFactor);
|
|
}
|
|
|
|
public float UvAnimationRotationSpeedFactor
|
|
{
|
|
get => _material.GetFloat(MToon10Prop.UvAnimationRotationSpeedFactor);
|
|
}
|
|
|
|
// etc
|
|
public Vector2 TextureScale
|
|
{
|
|
get => _material.GetTextureScale(MToon10Prop.BaseColorTexture);
|
|
}
|
|
|
|
public Vector2 TextureOffset
|
|
{
|
|
get => _material.GetTextureOffset(MToon10Prop.BaseColorTexture);
|
|
}
|
|
}
|
|
}
|