效果图:

UNITY 3D 海洋 unity sealed_贴图

一、Cube内外部颜色外形分开渲染效果

1、正面效果:

UNITY 3D 海洋 unity sealed_ASE案例解析_02

2、背面效果

UNITY 3D 海洋 unity sealed_Max_03

3、拆分 正反面

UNITY 3D 海洋 unity sealed_UNITY 3D 海洋_04

Dot结点

计算两个向量A和B之间的点/内积。它在几何上表示两个向量之间形成的角度的余弦值乘以彼此的长度。换句话说,它输出每个向量通道的乘法和。Pe如果A和B是Vector3,则结果为Ax * Bx + Ay * By + Az * Bz。

如果A和B的频道数量不同,则进行强制转换以匹配具有最多频道数量的频道。

注意:点积是可交换的,因此值的顺序并不重要。

http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Dot

World Normal

向量的每像素计算,该向量代表世界空间中的表面法线。法线向量是垂直于表面的单位向量,指向表面所面对的位置。该数据对于照明计算非常有用且通用。该节点还允许在切线空间中接收法线矢量,以使法线四处移动。最常见的用例是在切线空间中使用法线贴图纹理来扰动对象的表面法线。

注意:不要与“ 顶点法线”节点混淆。

http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/World_Normal

View Dir

“视图目录”节点在由“ 空间”参数定义的坐标空间上输出当前摄像机的视图方向。 世界空间坐标将是最常用的选项,但“切线空间”也非常有用,主要用于法线贴图(通常在切线空间中)上的操作。

疑问点:world Normal * View Dir 的结果是什么?(世界法线乘视角方向)

Sign 节点

Sign节点根据其Input上设置的值或向量的各个分量的信号输出1、0或负1 。

  • 1: This value is returned if Input is positive
  • 0: This value is returned if Input equals to zero
  • -1: This value is returned if Input is negative

UNITY 3D 海洋 unity sealed_贴图_05

http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Sign

Remap 

映射节点将其输入上设置的值从[ Min Old, Max Old ] 范围转换为由[ Min New, Max New ] 定义的新值。

UNITY 3D 海洋 unity sealed_贴图_06

Input Port

Description

Type

Input

Value to be converted between ranges.

Float

Min Old

Lower value from original range.

Float

Max Old

Upper value from original range.

Float

Min New

Lower value from new range.

Float

Max New

Upper value from new range.

Float

http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Remap

疑问点:暂时不理解Remap怎么用法?

 

4、利用Learp,做颜色 .外形的线性差值

Lerp节点 

Lerp节点(快捷方式:L键)通过Alpha计算两个值A和B之间的线性插值。换句话说,它将使用表达式((1-A)* I + B * I),根据称为Alpha的第三个Alpha值,在A和B之间生成新的混合值。在其它会返回-内插的值[1 0]之间的范围内甲如果I = 0和乙如果I = 1。

注意:多通道数据类型之间的线性插值是按通道进行的。如果A和B的频道数量不同,则进行强制转换以匹配具有最多频道数量的频道。

http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Lerp

UNITY 3D 海洋 unity sealed_Max_07

二、Cube镂空遮罩效果

设置环境:

UNITY 3D 海洋 unity sealed_UNITY 3D 海洋_08

在混合模式(Blend Mode )选择遮罩(Masked),这样

渲染类型(Render Type) 自动选择透明切口(Transparent Cutout),

渲染队列(Render Queue) 自动选择透明度测试(Alpha Test)

遮罩值(Mask Clip Value)  0.5(可手动调节)

之后把贴图赋值上即可

UNITY 3D 海洋 unity sealed_Max_09