PBR主节点有12个输入,是渲染出你的着色器的图形中的最后一个节点。任何没有输入到此节点的内容都不会被呈现。

PBR主节点将在底部有一个着色器的预览。预览会反映出你在着色器图形中所做的所有变换。

  • Vertex Position(顶点位置): 定义着色器对象空间绝对顶点位置
  • Vertex Normal(顶点法线): 定义着色器对象空间绝对顶点法线,渲染器使用这个值来确定光照或引用模型的反射
  • Vertex Tangent(顶点切线): 定义着色器对象空间绝对顶点切线。切线是一个单位长度的矢量,它沿着水平文纹理方向跟随一个网格表面。常用于着色器中贴图凹凸效果。
  • Albedo(反射率): 定义材质的反射率。取值范围是0-1。
  • Normal(法线): 定义材质法线值。这里需要时一个切线空间的法线(若不是切线空间,则需要转换到切线空间)
  • Emission(发射): 定义材质的发射颜色值。(注意需要传入正数)
  • Metallic(金属): 定义材质的金属值,取值 0->1 为 非金属->金属。(注意需要在金属工作流下可用)
  • Specular(镜面): 定义材质的镜面反射值,取值范围0-1。(注意需要在镜面工作流下可用)
  • Smoothness(平滑度): 定义材质的平滑度值,取值范围0-1。
  • Occlusion(遮挡): 定义材质的环境光遮挡值,取值范围0-1。
  • Alpha(透明度): 定义材质的透明度的颜色,取值范围0-1。
  • Alpha Clip Threshold(透明度剪辑阈值): 任何低于这个阈值提供的透明度值将被丢弃(不显示),取值范围0-1。
  • 设置选项:

    Precision(精度) :此选项可设置精度数据模式,通常用于优化,有三个选项:继承,浮动,一半

    Warkflow(工作流) :此选项可设置材质将使用什么样的工作流,有两个选项:金属,镜面(对应上面的输入)

    Surface(表面) : 此选项是设置材质是否透明,两个选项Opaque(不透明)和Transparent(透明)

    Blend(混合) :此选项是设置透明材质的混合模式。这个设置有四个选项:Alpha(透明度), Premultiply(自左乘), Additive(叠加), Multiply(乘)。

    Fragment Normal Space : 定义片段法线的坐标空间

    Two Sided :当网格的正面和背面被渲染时,它会进行切换。

    Override ShaderGUI :是否显示ShaderGUI属性

    二,Unlit Master(不受光材质主节点)

    Unlit主节点有6个输入,其功能和上面的‘PBR Master’基本一致。

  • Vertex Position(顶点位置): 定义着色器对象空间绝对顶点位置
  • Vertex Normal(顶点法线): 定义着色器对象空间绝对顶点法线,渲染器使用这个值来确定光照或引用模型的反射
  • Vertex Tangent(顶点切线): 定义着色器对象空间绝对顶点切线。切线是一个单位长度的矢量,它沿着水平文纹理方向跟随一个网格表面。常用于着色器中贴图凹凸效果。
  • Color(颜色): 定义材质颜色。
  • Alpha(透明度): 定义材质的透明度的颜色,取值范围0-1。
  • Alpha Clip Threshold(透明度剪辑阈值): 任何低于这个阈值提供的透明度值将被丢弃(不显示),取值范围0-1。
  • 设置选项:

    Precision(精度): 此选项可设置精度数据模式,通常用于优化,有三个选项:继承,浮动,一半

    Surface(表面): 此选项是设置材质是否透明,两个选项Opaque(不透明)和Transparent(透明)

    Blend(混合): 此选项是设置透明材质的混合模式。这个设置有四个选项:Alpha(透明度), Premultiply(自左乘), Additive(叠加), Multiply(乘)。

    Two Sided: 当网格的正面和背面被渲染时,它会进行切换。

    Override ShaderGUI: 是否显示ShaderGUI属性

    ShaderGUI: Override ShaderGUI为true时显示,表示要使用的ShaderGUI类的全名,包括类路径

    相关:渲染管线简介

    Shader Graph: 是通过节点图的方式实现可视化Shader编程

    在Unity2018之前是“Build-in pipeline”不可通过编程修改太多的渲染管线(官方没有提供太多的接口)

    在2018版本之后,Unity提供了可编程渲染管线:

  • SRP:全称“Scriptable Render Pipeline”,可编程渲染管线,是一种在Unity中通过C#脚本配置和执行渲染的方式
  • LWRP:全称“Light weight renderpipeline”,轻量级的渲染管线,适配大量的移动设备
  • HDRP:全称“High Definition Render Pipeline”,高清渲染管线,适配性能好的设备,PC设备
  • Custom:自定义渲染管线。
  • 分类:
    前端