URP | Alpha混合
实现效果
上面学习特效叠加模式,半透明物体的显示方法,在一次使用Alpha混合模式制作带遮罩的半透明叠加方式
效果
遮罩带UV方式

Shader

需求
制作一个带遮罩的Shader,只显示遮罩部分的物体。
第一张纹理贴图支持UV动画效果。
制作方法
设置变量
创建俩个贴图变量,一个颜色变量,在增加俩个控制UV方向的
声明变量
贴图

设置叠加模式
设置渲染方式

这次增加一个新的类型 "IgnoreProjector" = " True"
是否支持Projector组件的使用
我们不希望任何投影类型材质或者贴图,影响我们的物体或者着色器
扩展Projector 的使用
Projector的使用可以制作 投影效果
优点:
1.可控性强。可以看出我们可以控制在哪个区域、哪些物体、什么时间产生或更新阴影,也可以对阴影的质量进行控制(使用不同分辨率的RenderTexture);
2.可以很方便的是实现模糊和软阴影(这个还没实践,不过因为我们可以取得阴影的rendertexture,所以完全可以实现);
缺点:
1.很明显,产生阴影的物体不能接收阴影;
2.Unity3D 的Betch无法使用(因为要分层);
资料参考
https://www.jianshu.com/p/1fade1e8c309
设置前向渲染
顶点着色器阶段
顶点结构体

注意uv信息,输出的是 float4 类型
顶点着色器阶段
片元着色器阶段
纹理贴图乘颜色信息,顶点着色器信息。
注意: 如果不增加顶点着色器,粒子系统无法设置材质颜色
UV函数
控制UV不同方向的移动,我们定义一个函数,
这里可以定一个函数,使用这个函数就可以。
注意:是float2 类型
在使用的时候使用这个变量就可以。

Alpha
单独创建一个alpha变量,控制透明度显示

总结
使用UV分量储存,贴图uv信息,这样优化变量。
使用函数功能,这个如果写复杂的Shader可以使用到,自定义函数,解决重复的功能。
顶点着色器,如果不增加顶点着色器,粒子系统是颜色无法影响到材质。
代码