大家好,我是阿赵。
继续介绍Unity可视化Shader插件ASE。这次来说一些常用节点的快捷键,顺便介绍一些常用的节点。
用过UE引擎的朋友可能会发现,ASE的整体用法和UE的材质节点编辑器非常的像,甚至连很多节点的快捷键都和UE的一样。
不过说实话,对于节点的使用,我觉得ASE会更简单直观一些,原因是Unity的Shader更贴近于原生的顶点片段程序,功能没有UE那么多,所以能查找的基础节点也不会很多,基本上按照写Shader时候的名字去搜索,就能找到。而UE的材质编辑器,功能的确会比较强大,但由于提供的功能太多,反而查找起来并不是那么方便,而且没有Shader代码作为基础,不知道代码里面的关键字是什么,所以在UE那边如果不是特别熟悉某个功能,要找节点还是挺麻烦的。
这一篇主要是介绍一些键盘上有快捷键的节点,因为有快捷键的节点一般都是比较常用的节点,介绍一下这些节点的功能。一些很具体的数据节点,比如Position类或者法线类灯光类的,等到下一篇在具体的例子里面再介绍。
一、数字和Vector类
1、Float
按着主键盘的数字键1(不是右边的数字键盘,下面不再重复说明),然后点鼠标左键。可以创建出Float节点。
2、Vector2
按着主键盘的数字键2,然后点鼠标左键。可以创建出Vector2节点。Vector2节点有xy两个参数。
3、Vector3
按着主键盘的数字键3,然后点鼠标左键。可以创建出Vector3节点。Vector3节点有xyz三个参数。
4、Vector4
按着主键盘的数字键4,然后点鼠标左键。可以创建出Vector4节点。Vector3节点有xyzw四个参数。
5、Color
按着主键盘的数字键5,然后点鼠标左键。可以创建出Color节点。Color节点有RGBA四个参数。
6、Int
按着主键盘的数字键0,然后点鼠标左键。可以创建出Int节点。
把这几个放在一起,是因为好记,Float可以理解成是Vector1,那么1-4就是可以创建多少维的Vector了。然后Color其实也是一个Vector4,只是显示成RGBA,会比较好看。
二、运算符
1、加法
按着a键,然后点鼠标左键。可以创建出Add节点,也就是加法节点。
2、减法
按着s键,然后点鼠标左键。可以创建出Subtract节点,也就是减法节点。
3、乘法
按着m键,然后点鼠标左键。可以创建出Multiply节点,也就是乘法节点。
4、除法
按着d键,然后点鼠标左键。可以创建出Divide节点,也就是除法节点。
5、一减
按着字母o键,然后点鼠标左键。可以创建出OneMinus节点,也就是一减节点。举个例子,假如给OneMinus节点输入一个0.3,那么会输出一个1-0.3=0.7。
6、次方
按着e键,然后点鼠标左键。可以创建出power节点,也就是次方节点。
三、贴图类
1、贴图采样
按着t键,然后点鼠标左键。可以创建出TextureSample节点,也就是贴图采样节点。 这个节点可以输入一张贴图。不过TextureSample节点和TextureObject节点是不一样的。TextureObject节点代表的是输入一张贴图,但并不一定直接采样,可以是进行其他的计算。所以TextureObject节点也可以当做TextureSample节点的输入
2、UV
按着u键,然后点鼠标左键。可以创建出TextureCoordinates节点,也就是UV节点。这个UV节点,可以代表着模型本身的UV坐标,也可以指定当做某一张贴图的UV。区别在于某一张贴图的UV可以单独指定平铺次数。
四、向量计算类
1、叉乘
按着x键,然后点鼠标左键。可以创建出Cross节点,也就是向量叉乘节点。
2、点乘
按着句号.键,然后点鼠标左键。可以创建出Dot节点,也就是向量点乘节点。
3、向量标准化
按着n键,然后点鼠标左键。可以创建出Normalize节点,也就是向量标准化节点。
五、通道处理类
1、组合通道
按着v键,然后点鼠标左键。可以创建出Append节点,也就是组合通道节点。通过输入多个float,可以组成一个Vector。
然后这个Vector是多少维的也是可以选择:
2、提取通道
按着z键,然后点鼠标左键。可以创建出Swizzle节点,也就是提取通道节点。具体的作用是,可以把输入的Vector或者Color,提取其中的某几个通道,组合成新的Vector或者Color
3、通道拆分
按着b键,然后点鼠标左键。可以创建出BreakToComponents节点,也就是拆分通道节点。具体的作用是可以把一个Vector或者Color拆分成多个单独的通道。
4、通道遮罩
按着k键,然后点鼠标左键。可以创建出ComponentMask节点,也就是通道遮罩节点。它的具体作用是对一个输入的Vector或者Color,可以选择过滤掉某几个通道,然后输出。
六、注册类
1、注册值
按着r键,然后点鼠标左键。可以创建出RegisterLocalVar节点,也就是注册值节点。可以把任意的值注册到一个变量,方便后面提取使用。
2、提取值
按着g键,然后点鼠标左键。可以创建出GetLocalVar节点,也就是提取值节点。上面注册了的变量,可以通过这个GetLocalVar节点来提取使用
七、其他类
1、插值
按着l键,然后点鼠标左键。可以创建出Lerp节点,线性插值节点。从下图可以看出,Lerp通过Alpha值(0-1)控制A和B值的线性插值结果。
2、注释
框选多个节点,然后按键盘c键,可以把一堆节点打成一个备注组,上面可以写标题内容和改变颜色,方便查看。
八、其他常用节点
下面这些节点并没有快捷键,但我觉得也是比较常用的一些方法节点。当然,常用的节点还有很多,我这里只是挑了一部分来介绍。
1、Step
输入一个值,然后对比,得出的结果将会是0或者1。
2、SmoothStep
对比起Step,Smooth会比较柔和的把输入值控制在一个区间内,有一定的过渡效果。
3、Saturate
把输入的值控制在0-1之间。如果小于0则等于0,如果大于1则等于1。
4、Clamp
把输入的值控制在最大和最小值之间。
5、Fract
保留小数部分
6、Relay
没有任何具体效果,只是用来预览。ASE的大部分节点都有预览功能,不过有时候对于有些复杂的效果,我们也可以建一个Relay节点,作为专门的预览作用。