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

URP | 特效溶解效果

2021-12-29 21:59 作者:那个人真狗  | 我要投稿

实现效果

效果

需求

  • 溶解效果,溶解有单独的边缘,边缘可以控制指定颜色。

制作方法

  • 创建属性变量,

  • 声明变量

  • 顶点着色器计算UV信息

  • 片元着色器,

  • 这里使用Lerp  控制原图颜色,一个是边缘的颜色。根据什么计算

    使用Step 使用溶解贴图的R通道,和边缘大小,计算出边缘的颜色。

全代码

总结

  • Lerp函数,这次是使用线性插值函数,上次使用这个函数当开关使用。

  • clip函数    参数小于0的像素点直接丢弃掉

    一般使用到溶解效果。


上面是基础的溶解效果,那我们在上面的基础增加细节。

扩展1 : 软溶解

效果

  • 新的溶解和上面的原始效果对比。

需求

  • 扭曲效果,溶解效果,溶解需要软溶解,带边缘颜色。

  • 可以切换不同叠加模式,不同通道,正确使用。

  • 粒子系统Custom可以控制UV和溶解效果。

制作扭曲

  • 创建扭曲贴图属性

  • 计算扭曲的效果。扭曲需要UV移动效果。

  • 输入扭曲贴图的数据,计算扭曲的效果


  • 把扭曲贴图计算出的UV信息增加到 主贴图的UV




  • 切换 主贴图的R通道和A通道




溶解制作

  • 输入溶解的变量信息



  • 输入变量的属性

  • 加载溶解贴图

    使用Custom控制溶解方式


  • 计算溶解

计算溶解,

dis_edge 是计算软溶解的范围

这俩个有什么区别

软溶解效果更柔和效果。
  • 上面也增加了,控制边缘的方式。


一个是边缘厚度,一个是边缘颜色。

溶解部分完成


粒子系统控制

  • 第一  控制UV方向,我们在顶点结构体里输入 UV信息

  • 在顶点着色器阶段,输出到片元着色器,这里我们只是使用这个数据。

  • 控制UV的方式

这里我们使用 第二套UV的,x通道和时间来控制UV的移动。

  • 第二 部分是控制溶解


这样就有俩个开关,

如果不知道怎么使用,看前面的

URP | 粒子系统Custom自定义数据控制UV

代码

效果

总结

  • 扭曲效果的实现,是一张图的单通道去影响UV的数值实现的。这里只是读取扭曲贴图的单通道

  • 扭曲就是去改变原本图的UV信息

  • 溶解效果,上面使用的是clip函数 小于0的像素就删除掉

    软溶解的效果是使用 saturate()函数       这个函数返回是 0-1 范围的颜色值。



  • 如果_Custom_Dis的值输入原大,计算越小。 白到透明变化。

    另一个函数是使用Smoothstep()函数

扩展 smoothstep函数

  • 需要输入3个变量,控制A和B的平滑过渡。

    ret smoothstep(a, b, x)可以用来生成0到1的平滑过渡.


  • 粒子系统Custom Data属性

    这样的方式是可以动态的去控制材质属性。原来如果动态控制,就给单独属性做动画。


URP | 特效溶解效果的评论 (共 条)

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