05_UnityShader蒙版基础《溶解的旗帜》(二)
本章节学习目标:
学习透明通道的使用
进一波学习掌握溶解效果的原理
环境配置:
VScode
Unity2022·····
Shader入门精要

一、原理分解
1、模拟火焰燃烧裁剪的效果
火焰燃烧的效果是从有到无的,可以使用裁剪的效果实现,需要用到蒙版和渐变贴图。

2、模拟火焰燃烧边缘的效果
模拟燃烧的时候火焰效果,实现火痕。
色效果
给火痕和旗帜上颜色。

二、原理实现
1、实现火焰裁剪效果
使用一张控制裁剪方向和裁剪位置的渐变图
剪片图添加一个减法去控制裁剪范围
和mintex图的alpha通道进行相乘得到最终效果
2、实现燃烧边缘效果
拿到裁剪值
裁剪值使用Distance进行距离场的计算
相除得到一个可以控制边缘效果的值
反向得到实际的边缘效果,并将范围钳制在0-1
3、上色
使用Lerp节点
A为白色通道,为显示主通道
B为黑色通道,为显示燃烧部分
Alpha为黑色部分,主要显示燃烧边缘
三、细节添加
1、添加燃烧方向
使用渐变图,控制燃烧方向

添加Nois节点

使用边缘效果减去Nois放入边缘效果和裁剪效果中

2、添加燃烧颜色渐变过度
此处Append的作用为提取UV
x提取正常图片X范围
y提取0.5,也就是提取裁剪范围的y值,获取中间这条线的细节,采集到

3、添加世界坐标裁剪

用世界坐标空间进行裁剪实现纵向裁剪

4、增加球形扩张

世界空间位置 - 物体中心点位置 赋值给Length节点,得出以求为中心的距离场
以中心点为0点,进行向外扩散

本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 卯相