基础透明材质
左为ShaderGraph连线效果
右为shader代码实现效果文章来源:https://www.toymoban.com/news/detail-539715.html
ShaderGraph 连线图
重点为右上角的设置文章来源地址https://www.toymoban.com/news/detail-539715.html
Shader代码
Shader "StudyShader/Unlit_Transparent"
{
Properties
{
_BaseTex ("BaseTex", 2D) = "white" {}
_BaseColor("BaseColor",Color) = (0,0,0,0)
}
SubShader
{
Tags
{
"Queue"="Transparent" "RenderType" = "Transparent" //设置渲染模式和渲染顺序
}
Pass
{
zWrite Off //设置在渲染过程中是否更新深度缓冲区内容。通常,ZWrite 对不透明对象启用,对半透明对象禁用。
Blend SrcAlpha OneMinusSrcAlpha //设置混合模式为 传统透明度
HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
struct a2v
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float4 vertex : SV_POSITION;
float2 uv : TEXCOORD0;
};
TEXTURE2D(_BaseTex);
SAMPLER(sampler_BaseTex);
CBUFFER_START(UnityPerMaterial)
float4 _BaseColor;
float4 _BaseTex_ST;
CBUFFER_END
v2f vert(a2v v)
{
v2f o;
o.vertex = TransformObjectToHClip(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _BaseTex);
return o;
}
half4 frag(v2f i) : SV_Target
{
half4 texCol = SAMPLE_TEXTURE2D(_BaseTex, sampler_BaseTex, i.uv);
half4 col = texCol * _BaseColor;
return col;
}
ENDHLSL
}
}
Fallback "Lit"
}
到了这里,关于Shader 学习笔记(二) 基础透明材质的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!