欢迎光临散文网 会员登陆 & 注册

URP | Alpha混合

2021-12-15 19:00 作者:那个人真狗  | 我要投稿

实现效果

上面学习特效叠加模式,半透明物体的显示方法,在一次使用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变量,控制透明度显示

总结

  1. 使用UV分量储存,贴图uv信息,这样优化变量。

  2. 使用函数功能,这个如果写复杂的Shader可以使用到,自定义函数,解决重复的功能。

  3. 顶点着色器,如果不增加顶点着色器,粒子系统是颜色无法影响到材质。

代码


URP | Alpha混合的评论 (共 条)

分享到微博请遵守国家法律