Unity ASE学习笔记

Posted 爱吃芒果的薯条

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity ASE学习笔记相关的知识,希望对你有一定的参考价值。

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

高动态范围的颜色

ASE学习笔记_01_Mask

【ASE学习笔记】_01_Mask

前言:本期使用到的材质类型是无光照类型

实现效果:

最终结点图

实现思路:
1.准备两张贴图,一张当做主体贴图,用于展现遮罩效果,另一张用于遮罩,以蝴蝶遮罩效果为例,蝴蝶就是主体贴图,蝴蝶上面的光影就是遮罩
2.为了让遮罩在前景上移动,我们要给遮罩实现一个流动效果,这里使用Texture Coordinates结点得到UV,利用Panner结点来进行平移,再创建一个Vector 2 的变量用于控制平移速度
3.创建一个Texture 将做好的平移效果连接到Texture 再用同样的步骤做出主体图片
4.创建一个颜色 勾选HDR 用于给材质加上一个颜色效果,纯白色就是辉光,当然也可以改变成其它的效果
5.最后用Mutiply将几个效果合并到一起

以上是关于Unity ASE学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

[Unity] 平台游戏控制器 教程 个人学习笔记

Unity 3D学习笔记三十:游戏元素——游戏地形

Unity 2D 游戏学习笔记

Unity学习笔记[一] RollBall小游戏

[Unity学习笔记:FPS游戏制作]角色的移动,旋转与推进上升————(2021.6.13学习笔记)

[Unity学习笔记:FPS游戏制作]子弹拖尾,碰撞与枪口火焰效果