Unlit不收外界光的影响,所以我把所有外界光的属性全部删除了,只保留了自身反射的颜色。
Shader "Unlit/MyUnlit"
{
Properties
{
_Emission ("Emission Color",Color) = (1,0,0,1)
}
SubShader
{
Pass
{
Material
{
Emission [_Emission]
}
Lighting On
}
}
}
或者这个,上面的fixed自动进行了顶点变换
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
shader "custom/最简单的shader"
{
properties{
_Color("Color",color) = (1,1,1,1)
}
subshader{
pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
float4 _Color;
float4 vert(float4 v:POSITION):SV_POSITION
{
v = UnityObjectToClipPos(v);
return v;
}
float4 frag(float4 v:POSITION):SV_TARGET
{
return _Color;
}
ENDCG
}
}
}

本文深入探讨Unlit Shader的特性,解释其如何独立于环境光照,仅显示材质自身的颜色。通过两个具体实例,详细展示了Unlit Shader的实现方式,包括属性设置和Pass配置,为读者提供实践指导。
1697

被折叠的 条评论
为什么被折叠?



