基础输出
Vertex【顶点节点】
- 顶点节点和片段节点是基础输出。
- 空格键可以增加属性,选择属性Delete可以删除属性。
Fragment【片段节点】
- 片段节点会受到Graph Inspector的设置影响,从而对节点参数造成影响。
- 和顶点节点一样是基础输出。
- 空格键可以增加属性,选择属性Delete可以删除属性。
Math 【数学】
Round【取整】
Ceiling【向上取整】
Floor 【向下取整】
Round【四舍五入取整】
- 如果值是0.5会取0值。
Sign【数字的符号节点】
如果输入__In__的值小于零,则返回 -1,如果等于零,则返回 0,如果大于零,则返回 1。
- 可以理解-1是负号,0是0,1是正号。
Step【步长】
对于每个分量,如果输入 In 的值大于或等于输入 Edge 的值,则返回 1,否则返回 0。
void Unity_Step_float4(float4 Edge, float4 In, out float4 Out)
{
Out = step(Edge, In);
}
- 可通过此节点做到数据的硬分割。
- Edge 的值范围应保持在__In__的最大值和最小值之间。
Truncate【整数位节点】
返回输入__In__的值的整数部分。
Vectory 【矢量】
Fresnel Effect【菲涅耳效应】
根据视角不同而在表面上产生不同反射率(接近掠射角时的反射光增多)的效果。通过计算表面法线(Normal)和视图方向(View Dir)之间的角度来模拟这一点。该角度越宽,返回值越大。通常用于实现边缘光照。
void Unity_FresnelEffect_float(float3 Normal, float3 ViewDir, float Power, out float Out)
{
Out = pow((1.0 - saturate(dot(normalize(Normal), normalize(ViewDir)))), Power);
}
Wave 【波】
Noise Sine Wave【噪声正弦波】
返回输入 In 的值的正弦值,并在正弦波的幅度上增加输入 Min Max 范围内的伪随机噪声。
- 输出值0到50,Min =-0.5Max=0.5,返回值-0.2825589到1.443848之间,由于是随机值有动态性。
Sawtooth Wave 【锯齿波】
从输入 In 的值返回锯齿波。
void Unity_SawtoothWave_float4(float4 In, out float4 Out)
{
Out = 2 * (In - floor(0.5 + In));
}
- 输出值0到1,返回值1到-1。
Square Wave【方波】
从输入 In 的值返回方波。
void Unity_SquareWave_float4(float4 In, out float4 Out)
{
Out = 1.0 - 2.0 * round(frac(In));
}
- frac 方法返回的是输入数值的小数部分。
- 输出值0到1,返回值1到-1。
Triangle Wave【三角波】
从输入 In 的值返回三角波。
void Unity_TriangleWave_float4(float4 In, out float4 Out)
{
Out = 2.0 * abs( 2 * (In - floor(0.5 + In)) ) - 1.0;
}
- 输出值0到1,返回值1到-1。
Input【输入】
Texture【纹理】
Sample Texture 2D【2D纹理采样节点】
对 2D纹理进行采样并返回颜色值以在着色器中使用。
- __Sampler__属性为Sampler State节点。
- 对法线贴图进行采样,需要将 Type 下拉选单参数设置为 Normal。
- Space 属性只有在 Type 为 Normal 可用,可以设置为 Tangent 和 Object。
- 在 Node Settings 中会有一些设置会影响属性参数的变化,如Mip采样的模式。
Geometry 【几何】
UV
网格顶点或片元的 UV 坐标。
Channel【通道】
Split【拆分节点】
将输入的矢量进行拆分为对应的值。