一、👋🏻前言
你现在看见的是一套非常系统的ASE入门学习教程,并不是心血来潮随心创作的。
up原来是初中物理老师(有教师资格证)后转入程序行业,认真学习过课程设计等相关知识,只要你认真的学每一篇文章,这将是一个轻松入门的shaderASE课程
注意按照专栏默认顺序阅读
课程使用Unity版本:6000.0.47f1
课程使用ASE版本:Amplify Shader Editor 1.9.8.1
大家好,我是菌菌巧乐兹~本节内容主要讲一下,shader中噪声的种类,通过噪声做一个很火焰相似的造型
二、思路
我们先观察一下火焰的形状
他是一个接近圆形,但是在往上动的形状,再看他有颜色的部分,像一个又一个不规则的窟窿眼。
所以我们的制作分以下几步:
1.制作圆形,中间清楚,四边模糊
2.制作不规则窟窿眼
3.颜色是下重上轻(制作梯度)
4.不规则动起来
三、制作圆形
这一步有两个方案都可以解决:
方案一:
画一个圆形的图,中间到四周是渐变,如下图所示(制作方式略,ps,ppt什么的都能画)
方案二:
用ase中的代码画一个
你这里可以不学,这里涉及了一点数学,可以用上面的方案代替,但希望大家学会,为未来更多的数学打下基础。
1.我们有一个quad模型,就是一个平面,uv中间的点的坐标是(0.5,0.5)
2.我们计算其他点到这个点的距离,可以想象到,距离越近,离0越近,距离越远,离0越远,因为1是白色,0是黑色,我们可以画出一个图,代表从中心到四周的距离
3.把0和1翻转一下,就是黑色和白色翻转一下,就可以变成如下图所示
这样就画成了一个圆
方案二的实际制作
1.新建一个vector2把顶点中心数据写出来
2.拿到贴图的其他顶点坐标
注:VertexTexCoord是什么?
之前我讲过uv贴图是什么,当uv贴图贴到模型上之后,每一个模型顶点都会对应一个uv坐标。这个uv坐标就是vertexTexcoord。在绝大多数时候,uv坐标的值都是在0-1之间,所以vertexTexcoord的值也是0-1之间,并且左下角是(0,0),右上角是(1,1)
3.节点Distance
distance节点是计算两个点距离的节点,把他们连起来就得到了初步的圆
4.节点smoothstep
因为上面的圆中间太小了,两边也太灰了,我们希望稍微改变一下
(中间太小了,意味着0太少了,两边灰,说明两边的1太少了)
节点smoothstep介绍
看输入值在不在这个最大值和最小值之间,如果比最小值小,就等于最小值,如果比最大值大,就等于最大值。如果在他们之间,就拉一条曲线,根据曲线来输出个值
例如,min = 0,max=1,就在0和1之间拉一条曲线,如果这时输入值是0.7,那么根据曲线,输出值是0.8
通过smoothstep节点,可以调节一下你希望的圆的大小,这里可以自己调试,最后菌菌兹调试的结果如图所示。
5.图像转换
因为0乘任何数为0(黑色),相当于图片消失了,1乘任何数为1,相当于保持不变,火焰是中间有颜色,两边消失,所以我们要把黑白翻转,相当于0和1翻转,方法就是用1去减【0,1】之间的数,就反转了,如下图所示
这样,我们的圆圈就做完了
四、不规则窟窿眼制作
不规则的窟窿眼是用噪波制作的,ase中的噪波有5种,之前讲过4种,在如下链接。
Unity | AmplifyShaderEditor插件基础(第八集:噪声波动shader)_unity 噪声波动shader-CSDN博客
这里再介绍一种噪声Voronoi
噪声Voronoi
Voronoi噪声就像在平面上撒一堆“种子”,然后让每个种子向外扩张自己的“领地”,最终形成一块块像蜂窝或拼图一样的图案。所以也叫细胞噪声。如下图所示。
这里面最主要的几个参数(其他用到再说):
-
Scale:相当于种子的数量。种子越多,细胞越多
-
Angle:相当于你拿个玻璃棒进去搅动,在数字变化时,他会改变位置
-
unity's Voronoi:unity也有这个东西,和ase算出来的图像不太一样,就看你用哪个
制作窟窿眼
因为火焰一般是有边缘感的,所以我们把voronoi噪声用上,又因为一个噪声太规则了,火焰是不规则的,所以我们需要把两个噪声拼到一起。
这里都是讲过的制作方式,直接就上图了。
1.阶梯噪声设置
2.细胞噪声设置
3.把他们拼装在一起
这样就有火焰那味了。
五、结语
非常感谢你的观看,如果你觉得我帮到你了,可以给我点一个赞吗~
我会为此创作更多的文章。