PBR Master Node
基于 physically based rendering. 包括 Metallic or Specular 两个工作流程
提供给输入法线的值应该在切线空间中。使用Transform Node转换节点将其转换为切线空间。Values supplied to the input Normal are expected to be in tangent space. Use the Transform Node to convert to tangent space.
Ports
Name | Direction | Type | Stage | Binding | Description |
---|---|---|---|---|---|
Position | Input | Vector 3 | Vertex | None | Defines the absolute object space vertex position per vertex |
Albedo | Input | Vector 3 | Fragment | None | Defines material's albedo value. Expected range 0 - 1. |
Normal | Input | Vector 3 | Fragment | Tangent Space Normal | Defines material's normal value. Expects normals in tangent space. |
Emission | Input | Vector 3 | Fragment | None | Defines material's emission color value. Expects positive values. |
Metallic | Input | Vector 1 | Fragment | None | Defines material's metallic value where 0 is non-metallic and 1 is metallic. Only available in Metallic Workflow mode. |
Specular | Input | Vector 3 | Fragment | None | Defines material's specular color value. Expected range 0 - 1. Only available in Specular Workflow mode. |
Smoothness | Input | Vector 1 | Fragment | None | Defines material's smoothness value. Expected range 0 - 1. |
Occlusion | Input | Vector 1 | Fragment | None | Defines material's ambient occlusion value. Expected range 0 - 1. |
Alpha | Input | Vector 1 | Fragment | None | Defines material's alpha value. Used for transparency and/or alpha clip. Expected range 0 - 1. |
Alpha Clip Threshold | Input | Vector 1 | Fragment | None | Fragments with an alpha below this value will be discarded. Requires a node connection. Expected range 0 - 1. |
Material Options
PBR Master Node点击右上角的齿轮,可以选择以下选项
Name | Type | Options | Description |
---|---|---|---|
Workflow | Dropdown | Metallic, Specular | Defines workflow mode for the material |
Surface | Dropdown | Opaque, Transparent | Defines if the material is transparent |
Blend | Dropdown | Alpha, Premultiply, Additive, Multiply | Defines blend mode of a transparent material |
Two Sided | Toggle | True, False | If true both front and back faces of the mesh are rendered |
Unlit Master Node
Ports
Name | Direction | Type | Stage | Binding | Description |
---|---|---|---|---|---|
Position | Input | Vector 3 | Vertex | None | Defines the absolute object space vertex position per vertex |
Color | Input | Vector 3 | Fragment | None | Defines material's color value. Expected range 0 - 1. |
Alpha | Input | Vector 1 | Fragment | None | Defines material's alpha value. Used for transparency and/or alpha clip. Expected range 0 - 1. |
Alpha Clip Threshold | Input | Vector 1 | Fragment | None | Fragments with an alpha below this value will be discarded. Requires a node connection. Expected range 0 - 1. |
Material Options
Unlit Master Node material options can be accessed by clicking the cog icon in the top right corner of the Unlit Master Node.
Name | Type | Options | Description |
---|---|---|---|
Surface | Dropdown | Opaque, Transparent | Defines if the material is transparent |
Blend | Dropdown | Alpha, Premultiply, Additive, Multiply | Defines blend mode of a transparent material |
Two Sided | Toggle | True, False | If true both front and back faces of the mesh are rendered |
下面是math节点,我只写一些难理解的
Math Nodes
Advanced
Absolute | Exponential |
---|---|
![]() | ![]() |
返回输入值的绝对值 | 返回输入的指数幂,
|
Length | Log |
![]() | ![]() |
返回输入的长度,![]() | 返回以2 ,e, 10,为底的输入的log值log2(In) |
Modulo | Negate |
![]() | ![]() |
返回A/B的模,也就是a除以b的余数 | 返回 输入值的对立面,就是在输入值前面加个负号 |
Normalize | Posterize |
![]() | ![]() |
返回输入值的归一化坐标,长度为1,方向不变 | 一个图像的色调分离或色调分离需要将一个连续的色调渐变转换到几个色调较少的区域,并伴随着从一个色调到另一个色调的突变,此节点将输入的色调分离(也称为量化)值返回到输入步骤指定的值的数量中。 |
Reciprocal | Reciprocal Square Root |
![]() | ![]() |
返回输入值的倒数 | 反平方根,就是根号输入值分之1 |
Basic
Add | Divide |
---|---|
![]() | ![]() |
两个值的和 | 返回A除以B得值 |
Multiply | Power |
![]() | ![]() |
返回A乘以B的值 | 返回输入A的B次方。 |
Square Root | Subtract |
![]() | ![]() |
返回输入的平方根. | 返回A减去B |
Derivative
DDX | DDXY |
---|---|
![]() | ![]() |
返回屏幕空间x坐标的偏导 | 返回输入对屏幕空间x坐标和屏幕空间y坐标的偏导数之和。此节点只能在像素着色阶段使用 |
DDY | |
![]() | |
返回屏幕空间y坐标的偏导 |
Interpolation
Inverse Lerp | Lerp |
---|---|
![]() | ![]() |
根据T的值,来确定AB之间的差值, | 通过输入T,返回输入A和输入B之间的线性插值结果。 就和c#中的插值一样,t在0-1之间. |
Smoothstep | |
![]() | |
如果输入In在输入Edge1和Edge2之间,则返回在0和1之间的平滑Hermite插值的结果,这个结果就是开始慢慢加速,结束时慢慢减慢,如果不在Edge1和Edge2之间,如果小于Edge1返回0,如果大于Edge2,返回1 |
Matrix
Matrix Construction | Matrix Determinant |
---|---|
![]() | ![]() |
从四个输入向量M0、M1、M2和M3构造方阵。
| 返回由输入定义的矩阵的行列式 |
Matrix Split | Matrix Transpose |
![]() | ![]() |
将矩阵分割成向量 | 返回一个矩阵的转置矩阵 |
Range
Clamp | Fraction |
---|---|
![]() | ![]() |
返回最大值和最小值之间的值,就是限制 | 返回输入的小数部分;大于等于0,小于1。 |
Maximum | Minimum |
![]() | ![]() |
返回AB二者中的最大值 | 返回AB二者中的最小值 |
One Minus | Random Range |
![]() | ![]() |
返回从1减去输入的值 | 返回一个介于输入Min和Max所定义的最小值和最大值之间的伪随机数。 |
Remap | Saturate |
![]() | ![]() |
返回输入值与输出值之间的线性插值 | 返回0-1之间的值 |
Round
Ceiling | Floor |
---|---|
![]() | ![]() |
返回大于等于输入参数的最小整数 | 输入小于或等于输入参数的最大整数 |
Round | Sign |
![]() | ![]() |
将输入的值四舍五入为最接近的整数。 | 如果输入的值小于0,则返回-1, 0表示等于0,1表示大于0 |
Step | Truncate |
![]() | ![]() |
如果输入In的值大于或等于输入Edge的值,则返回1,否则返回0。 | 返回输出参数的整数部分. |
Trigonometry
Arccosine | Arcsine |
---|---|
![]() | ![]() |
将输入的每个分量的反余弦作为相同维数和相同长度的向量返回。每个组件都应该在-1到1的范围内。. | 返回输入的每个分量的反正弦值,作为相同维数和相同长度的向量。每个分量应该在-pi/2到pi/2的范围内。 |
Arctangent | Arctangent2 |
![]() | ![]() |
返回输入值的反正切值。每个分量应该在- /2到/2的范围内。 | 返回输入A和输入b的值的反正切值。输入值的符号(无论它们是正的还是负的值)用于确定输出组件或通道在-Pi到Pi的范围内是正的还是负的。 |
Cosine | Degrees to Radians |
![]() | ![]() |
返回输入值的余弦值 | 返回输入值,该值由度转换为弧度 |
Hyperbolic Cosine | Hyperbolic Sine |
![]() | ![]() |
返回输入的双曲余弦值。 | 返回输入的双曲正弦值 |
Hyperbolic Tangent | Radians to Degrees |
![]() | ![]() |
返回输入的双曲正切 | 返回从弧度转换为角度的输入值。 |
Sine | Tangent |
![]() | ![]() |
返回输入值In的正弦值 | 返回输入值的正切值 |
Vector
Cross Product | Distance |
---|---|
![]() | ![]() |
返回输入A和b的值的叉乘。两个向量的叉乘得到第三个向量,它垂直于两个输入向量结果的大小等于两个输入的大小相乘,然后乘以输入之间夹角的正弦。您可以使用“左手规则”来确定结果向量的方向 | 返回两点的距离 |
Dot Product | Fresnel Effect |
![]() | ![]() |
返回两个输入向量A和B的点积,或标量积。 点积是一个等于两个向量相乘的模的值然后乘以它们夹角的余弦值。 对于归一化的输入向量,如果它们指向完全相同的方向,则点积节点返回1;如果它们指向完全相反的方向,则返回-1;如果向量垂直,则返回0 | 菲涅耳效应是根据观察角度在表面上呈现不同的反射率,当你接近切线(边缘)角更多的光被反射。菲涅耳效应节点通过计算表面法线和视图方向之间的角度来近似地实现这一点。这个角度越大,返回值越大。这种效果经常用于实现边缘照明, |
Projection | Reflection |
![]() | ![]() |
返回将输入A的值投影到与输入B的值平行的直 | 使用输入和表面法线返回一个反射向量. |
Rejection | Rotate About Axis |
![]() | ![]() |
将输入A的值在正交平面上的投影的结果返回给输入B。 | 旋转输入的变量根据给出的轴的值和旋转的角度 |
Projection | Rejection |
![]() | ![]() |
回将输入A的值投影到与输入B的值平行的直线上的结果 | 将输入A的值在正交平面上的投影的结果返回给输入B。 |
Sphere Mask | Transform |
![]() | ![]() |
创建一个来自输入中心的球体遮罩。球使用Radius and Hardness来计算距离和修改输入。Sphere mask功能可以在二维和三维空间中工作,它基于坐标输入中的矢量坐标 | 返回将输入值(In)从一个坐标空间转换为另一个坐标空间的结果。选择节点上的下拉选项,以定义要从哪些空间转换到哪些空间,如果您使用Transform节点来转换不是position的值的坐标空间,Unity建议您使用World space选项 |
Wave
Noise Sine Wave | Sawtooth Wave |
---|---|
![]() | ![]() |
返回输入值In的正弦值,对于方差,psuedo-random噪声被添加到正弦波的在MinMax之间的振幅之中 | 从输入的值返回一个锯齿值 |
Square Wave Node | Matrix Transpose |
![]() | |
返回一个锯齿方波 | Returns the transposed value of the matrix defined by input In. |
Noise Sine Wave Sawtooth Wave Square Wavve Triangle Wave