Unity 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界面
主要工作区详解
四、节点
常用节点概览
4.1、贴图节点
说明
Model:对象和引用
Type:属性和全局
Name:节点名称
Property Name: 变量名称
Default Texture: 白
Mip Mode:Mipmap设置
Unpack Normal Map:解压缩法线贴图
Default Value: 默认材质贴图
4.2、常数节点
4.3、四则运算(+ - * /)
- Add:A+B
- Subtract:A-B
- Multiply:A*B
- Divide:A/B
4.4、注册、获取 get、set
4.5、通道附加、组件遮罩、组件拆分
4.6、数学运算
ABS(绝对值)
One Minus(1-x)
Power (幂)
Power幂:
Base:底数
Exp:幂指数
Lerp(线性插值)
Lerp线性插值:
以Alpha数值为标准,输出A和B之间的线性插值,Alpha为1时输出B,0时输出A,0.5时AB各一半。
Clamp(约束:Min和Max的数值可以自定义)
Clamp约束:
截取输入值,并将其约束到Min和Max两个数值中间,
如果输入值<0,则输出0,
如果输入值>1,则输出1。
Remap(重映射)
将值从一个范围重映射到另一个范围。
例如:Sin函数是在[-1,1]之间变化的,我们可以通过重映射将[-1,1]变化为[0,1],这样就不会有负值情况了。
Step(阶梯函数:非黑即白)
常用于硬溶解效果。
如果A<=B,则输出1,
如果A>B,则输出0。
示例:
如果A输入图片上的这个区域亮度<=B输入图片上的对应区域,则这块区域输出白色,反之,则输出黑色。
效果:
SmoothStep(平滑阶梯函数)
如果输入值在Min和Max之间,则输出0和1之间的平滑Hermite插值,
如果Max大于Min,则在输入小于Min的时候,输出0,在输出值大于Max时,输出1。
效果:
纹理坐标(Texture Coordinates、UV坐标)、Rotator(旋转)
Texture Coordinates(UV坐标):
- 该节点和ShaderForge里的UV Coordinates一致,用于输出模型的UV坐标,选中节点后,在左上方的Parameters里的Reference需要选中对应的图片,才可以在外部材质里的Tilling和Offset进行编辑贴图的平铺和位移,在UV Set下可以选择多达8套UV
Rotator(UV旋转):
- 该节点将会把输入的UV或者2维量围绕你所定义的Anchor点进行旋转,需要输入Time动态时间,不然会固定住,不会旋转。
- 对于Anchor值,旋转的中心点(0,0)是UV左下角(1,1)是UV右上角。
Panner
UV偏移器:
- UV:传入贴图的UV坐标信息
- Speed:传入二维向量,用于控制x轴、y轴的偏移
- Time:传入时间选择器,可自动产生偏移运动
快捷键:先按住快捷键不放,再点击ASE编辑区域。
T:纹理样本
U:纹理坐标
Space:打开搜索面板
Fresnel(边缘光)
World Normal:世界法线
View Dir:摄像机方向
Bias:底色
Scale:倍率。边缘亮度
Power:指数。数值越大,边缘越细
:
知识点待学习:
纹理样本、纹理坐标
1、纹理坐标的reference选择主纹理
2、Panner节点
这些都是啥?
Multi 纹理相乘
Color 的HDR
高动态范围的颜色