Unity ASE学习笔记
- [ASE:Amplify Shader Editor 一款材质工具](http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor)
- 一、工具比较
- 二、ASE插件工具下载
- 三、ASE界面
- 四、节点
- 知识点待学习:
- 这些都是啥?
ASE:Amplify Shader Editor 一款材质工具
一、工具比较
1、Shader Forge
- 停止更新,只支持Unity2017,以后的版本需要找到修改后兼容的包体
- 不支持Unity URP和HDRP
- 通用渲染管线复用性高
2、Shader Graph
- 官方工具,不断更新完善
- 支持Unity URP和HDRP
- 默认渲染管线不可以使用
3、ASE
- 收费工具,可以去找包体
- 支持Unity URP和HDRP
- 复用性高于Shader Forge
- 代码简洁
二、ASE插件工具下载
三、ASE界面
快捷键操作:先按住快捷键不放,再点击ASE编辑区域。
Space:打开搜索面板
T:纹理样本
U:纹理坐标
主要工作区详解
四、节点
常用节点概览
4.1、贴图纹理
4.1.1. Texture Sample(贴图节点)
说明
Model:对象和引用
Type:属性和全局
Name:节点名称
Property Name: 变量名称
Default Texture: 白
Mip Mode:Mipmap设置
Unpack Normal Map:解压缩法线贴图
Default Value: 默认材质贴图
4.1.2. Texture Coordinates(纹理坐标)
UV采样节点,可以进行UV的控制
- 该节点和ShaderForge里的UV Coordinates一致,用于输出模型的UV坐标,选中节点后,在左上方的Parameters里的Reference需要选中对应的图片,才可以在外部材质里的Tilling和Offset进行编辑贴图的平铺和位移,在UV Set下可以选择多达8套UV。
4.1.3、UV偏移器(Panner)
- UV:传入贴图的UV坐标信息
- Speed:传入二维向量,用于控制x轴、y轴的偏移
- Time:传入时间选择器,可自动产生偏移运动
4.1.3、Rotator(旋转)
- 该节点将会把输入的UV或者2维量围绕你所定义的Anchor点进行旋转,需要输入Time动态时间,不然会固定住,不会旋转。
- 对于Anchor值,旋转的中心点(0,0)是UV左下角(1,1)是UV右上角。
4.2、常数节点(一维变量、二维变量、三维变量、四维变量、颜色变量)
4.3、四则运算(+ - * /)
- Add:A+B
- Subtract:A-B
- Multiply:A*B
- Divide:A/B
4.4、Set、Get、(注册、获取)
4.5、通道(附加Append、组件遮罩Component Mask、组件拆分Break To Components)
4.6、数学运算
4.6.1、ABS(绝对值)
4.6.2、 One Minus(1-x)
4.6.3、Power (幂)
Power幂:
Base:底数
Exp:幂指数
4.6.4、Lerp(线性插值)
Lerp线性插值:
以Alpha数值为标准,输出A和B之间的线性插值,Alpha为1时输出B,0时输出A,0.5时AB各一半。
y=(1-Alpha)*A + Alpha * B
4.6.7、Clamp(约束:Min和Max的数值可以自定义)
Clamp约束:
截取输入值,并将其约束到Min和Max两个数值中间,
如果输入值<0,则输出0,
如果输入值>1,则输出1。
4.6.8、Remap(重映射)
- 将值从一个范围重映射到另一个范围。
- 例如:Sin函数是在[-1,1]之间变化的,我们可以通过重映射将[-1,1]变化为[0,1],这样就不会有负值情况了。
4.6.9、Step(阶梯函数:非黑即白)
常用于硬溶解效果。
如果A<=B,则输出1,
如果A>B,则输出0。
示例1:
使用一维变量设置0-1.05(防止图片为1时溶解不掉)
效果:
示例2:
如果A输入图片上的这个区域亮度<=B输入图片上的对应区域,则这块区域输出白色,反之,则输出黑色。
效果:
4.6.10、SmoothStep(平滑阶梯函数)
如果输入值在Min和Max之间,则输出0和1之间的平滑Hermite插值,
如果Max大于Min,则在输入小于Min的时候,输出0,在输出值大于Max时,输出1。
效果:
4.7、自然光处理
4.7.1、Fresnel(菲涅尔折射)
World Normal:世界法线
View Dir:摄像机方向
Bias:底色
Scale:倍率。边缘亮度
Power:指数。数值越大,边缘越细
数学原理:
等效写法:
Abs与Saturate节点属于优化项,优化原Fresnel节点造成的闪点现象
示例:
效果:
4.8、噪声生成
4.8.1、Noise Generator
Scale: 噪声尺寸大小
生成噪声图
4.8.2、Voronoi
Angle:旋转角度
Scale: 噪声尺寸大小
使用示例:
4.9、深度测试
4.9.1、Depth Fade
与物体相交返回0,未相交返回1
4.10、顶点
4.10.1、Vertex Color(顶点颜色)
粒子系统中的颜色修改器都是基于顶点颜色来进行计算的,如果材质只算了贴图,没有算顶点颜色,那么在粒子系统中无法修改图片的颜色节点
顶点颜色与软粒子效果
顶点颜色
软粒子
如果粒子没有软粒子效果,那么发射出来就是这种与地面有切边
加上Depth Fade(深度渐变)就不会有切边