Unity 之 ShaderGraph PBR 和 Unlit 主节点介绍

举报
陈言必行 发表于 2021/09/08 07:56:53 2021/09/08
【摘要】 ShaderGraph PBR Maser 和 Unlit Master 介绍

一,PBR Master(基于物理渲染主节点)

输入项:

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提供了可编程渲染管线:
shader

  • SRP:全称“Scriptable Render Pipeline”,可编程渲染管线,是一种在Unity中通过C#脚本配置和执行渲染的方式
  • LWRP:全称“Light weight renderpipeline”,轻量级的渲染管线,适配大量的移动设备
  • HDRP:全称“High Definition Render Pipeline”,高清渲染管线,适配性能好的设备,PC设备
  • Custom:自定义渲染管线。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。