Unity Shader ASE——输出面板详情

目录

 

一、基本配置

1、General 通用设置

2、Blend Mode 混合模式

3、Stencil Buffer 模板缓冲

4、Tessellation 镶嵌

5、Outline 轮廓

6、Billboard 广告牌

7、Depth 深度

8、Rendering Options  渲染选项

9、Rendering Platforms 渲染平台

10、Additional Includes 附加物品

11、Additional Pragmas 附加语用表

12、Custom SubShader Tags 自定义SubShader标签

13、Material Properties 材料特性

二、输出面板 


一、基本配置

1、General 通用设置

Unity Shader ASE——输出面板详情_第1张图片

 

  • 着色器名称:可编辑文本框,用于定义着色器的名称和路径。使用斜杠“ /”定义其类别和名称;例如UserSamples / EnvironmentGradient。请注意,此框中显示的名称与文件名不同,必须分别设置。
  • 着色器类型:此区域显示当前使用的着色器类型。这些包括您当前在项目中拥有的模板。ASE随附有用于后期处理效果,粒子,子画面,UI和未着色的着色器的预设。默认情况下设置为“曲面着色器”。
  • 灯光模型:定义表面如何反射光,通常称为使用的着色器类型。ASE目前提供标准(金属),标准镜面反射,Lambert,Blinn Phong和自定义照明,允许创建基于节点的独特照明模型。
  • 着色器模型:在编写“曲面着色器”或常规着色器程序时,可以将HLSL源代码编译为不同的“着色器模型”。更高的着色器编译目标允许使用更现代的GPU功能,但可能会使着色器无法在较旧的GPU或平台上运行。
  • 精度:定义内部计算的最大精度,使用较低的类型可以提高性能,以换取一些精度;默认情况下设置为浮动-此值限制画布中所有现有的属性。
  • 剔除模式:前-剔除正面几何图形,后-剔除背面几何图形,关闭-禁用剔除(双面材质);默认设置为返回。
  • 渲染路径:允许您定义着色器支持哪种模式(“前进/延迟”);默认情况下设置为全部。
  • 投射阴影:定义着色器是否生成阴影传递以能够投射阴影;仍然可以在材质渲染器组件中基于每个对象关闭。
  • 接收阴影:定义使用着色器的对象是否接收阴影;这包括自遮蔽(仅用于正向渲染);仍然可以在材质渲染器组件中基于每个对象关闭。
  • 队列索引:渲染队列偏移值,接受正(后)和负(后)整数。
  • 顶点输出:默认为相对,可以设置为绝对;输入“本地顶点偏移”输入将自动更改为“本地顶点位置”。
  • LOD:默认情况下,允许的LOD级别是无限的,也就是说,可以使用用户硬件支持的所有着色器。但是,在某些情况下,即使硬件可以支持,也可能要删除着色器详细信息。Unity Shader参考
  • 后备(Fallback):从项目中可用的着色器设置后备着色器,每当主着色器缺失或不支持特定的传递时,将使用该方法。
  • 自定义编辑器:自定义检查器允许您使用自定义材料检查器,默认情况下使用ASE自定义材料检查器。

2、Blend Mode 混合模式

Unity Shader ASE——输出面板详情_第2张图片

混合模式

  • 混合模式:所选模式会自动调整可用参数;不透明,蒙版,透明,半透明,Alpha预乘或自定义。
  • 渲染类型:RenderType标记将着色器分为几个预定义的组。可用标签:不透明,透明,透明切口,背景,覆盖,树不透明,树透明切口,树广告牌,草和草广告牌。
  • 渲染队列:几何渲染队列优化了对象的绘制顺序,以实现最佳性能。渲染队列按距离对对象进行排序,从最远的对象开始渲染,以最接近的对象结束。可用选项:背景,几何,Alpha测试,透明和覆盖。每个后续队列均在前一个队列创建分层系统之后呈现。
  • 蒙版剪辑值:与不透明度alpha进行比较的默认值。0个完全不透明,1个完全遮盖;默认设置为0。常用于透明切口材料。
  • 折射层:当指定的抓取通道将被该值偏移时,有效地创建用于折射效果的分层系统。
  • Alpha To Coverage:打开内部MSAA功能以使用不透明对象层混合Alpha对象;仅适用于在打开MSAA的情况下进行正向渲染。
  • 混合RGB和混合Alpha:渲染图形时,执行所有着色器并应用所有纹理后,会将像素写入屏幕。Blend命令控制它们与现有内容的组合方式。ASE当前提供自定义,Alpha混合,预乘,加法,软加法,乘法和2倍乘法模式。
  • 混合因子(SrcFactor和DstFactor):在Blend命令中,以下所有属性对于SrcFactor和DstFactor均有效。源是指计算出的颜色,目标是指屏幕上已经存在的颜色。如果BlendOp使用逻辑运算,则忽略混合因子。
    • 一个值为1的值-使用此值可使源或目标颜色完全通过。
    • 零:零值-使用它可以删除源或目标值。
    • SrcColor:此阶段的值乘以源颜色值。
    • SrcAlpha:此阶段的值乘以源alpha值。
    • DstColor:此阶段的值乘以帧缓冲区源颜色值。
    • DstAlpha:此阶段的值乘以帧缓冲区源alpha值。
    • OneMinusSrcColor:此阶段的值乘以(1-源颜色)。
    • OneMinusSrcAlpha:此阶段的值乘以(1-源alpha)。
    • OneMinusDstColor:此阶段的值乘以(1-目标颜色)。
    • OneMinusDstAlpha:此阶段的值乘以(1-目标alpha)。
  • 混合运算RGB和混合运算Alpha:添加,细分,修订细分,最小和最大
  • 色彩遮罩:设置色彩通道书写遮罩,将它们全部关闭使其不可见。

3、Stencil Buffer 模板缓冲

Unity Shader ASE——输出面板详情_第3张图片

模板缓冲

模版缓冲区可用作每个像素掩码的通用,用于保存或丢弃像素。通常是每个像素8位整数。该值可以写入,递增或递减。后续的绘制调用可以针对该值进行测试,以确定在运行像素着色器之前是否应丢弃像素。当“消隐”模式设置为“关”时,此菜单将显示一组额外的比较选择,以分别从正面和背面使用缓冲区。

  • 参考:要与之进行比较的值(如果Comp是除常值以外的其他值)和/或要写入缓冲区的值(如果将Pass,Fail或ZFail设置为替换)。0–255整数。
  • 读取掩码:8位掩码,为0-255的整数,在将参考值与缓冲区内容(referenceValue和readMask)比较功能(stencilBufferValue和readMask)进行比较时使用。默认值:255
  • 写掩码:8位掩码,为0-255整数,用于写入缓冲区。默认值:255
  • 比较(正反):用于将参考值与缓冲区的当前内容进行比较的函数。默认值:始终。
  • 通过(正面和背面):如果模板测试(和深度测试)通过,该如何处理缓冲区的内容。默认值:保留。
  • 失败(正面和背面):如果模板测试失败,该如何处理缓冲区的内容。默认值:保留。
  • ZFail(正面和背面):如果模板测试通过,但深度测试失败,该如何处理缓冲区的内容。默认值:保留。

4、Tessellation 镶嵌

Unity Shader ASE——输出面板详情_第4张图片

镶嵌

  • Phong:修改细分面的位置,使生成的曲面稍微遵循网格法线;默认设置为OFF。
    • 强度:效果强度0-1。
  • 类型:定义使用的技术;基于距离的,固定的,边长和边长剔除。
  • 苔丝:镶嵌因子;1-32。
  • 最小:最小镶嵌距离。
  • 最大:最大镶嵌距离。
  • 边缘长度:边缘在开始细分之前可以具有的最大长度。
  • Max Disp:在仍细分网格面的视锥边界之外的最大位移。

5、Outline 轮廓

OutlineOptions.jpg

轮廓 创建使用逆船体技术可定制的轮廓效应

  • 模式:顶点模式将船体偏移一个值,而顶点比例将增加一个百分比。
  • 颜色:让您定义轮廓的颜色。
  • 宽度:要偏移或缩放的值。

6、Billboard 广告牌

 

BillboardOptions.jpg

广告牌

  • 类型:圆柱广告牌将仅在Y轴上旋转,而球形广告牌将朝着相机旋转,无论其旋转如何。
  • 忽略旋转:将其设置为开将忽略广告牌变换旋转。

7、Depth 深度

DepthOptions.jpg

深度

  • ZWrite模式:控制是否将来自此对象的像素写入深度缓冲区(默认为On)。如果要绘制固体对象,请保持此状态。如果要绘制半透明效果,请切换到“关闭ZWrite”。有关更多详细信息,请阅读下文。
  • ZTest模式:应该如何执行深度测试。默认值为LEqual(将对象作为现有对象从中或远处绘制;将对象隐藏在它们后面)。ASE提供ZTest更少,更大,LEqual,GEqual,Equal,NotEqual和Always。
  • 偏移:允许您使用两个参数指定深度偏移。因子和单位。因子缩放相对于多边形的X或Y的最大Z斜率,单位缩放最小的可解析深度缓冲区值。这使您可以强制将一个多边形绘制在另一个多边形的上方,尽管它们实际上处于同一位置。例如,偏移0,–1将忽略多边形的斜率将多边形拉到更靠近摄影机的位置,而偏移–1,–1在查看掠射角时会将多边形拉得更近。
    • 因子:缩放相对于多边形的X或Y的最大Z斜率。
    • 单位:单位可缩放最小可分辨深度缓冲区值。

8、Rendering Options  渲染选项

Unity Shader ASE——输出面板详情_第5张图片

渲染选项

在这里可以激活或禁用某些着色器功能,默认情况下,其中大多数将启用以模仿Unity的标准着色器。

 

9、Rendering Platforms 渲染平台

Unity Shader ASE——输出面板详情_第6张图片

渲染平台

定义支持哪些平台;默认情况下设置为全部。

10、Additional Includes 附加物品

Unity Shader ASE——输出面板详情_第7张图片

附加物品

允许从着色器定义cg包含文件的相对路径。如果文件丢失或路径不正确,它将无法编译着色器。“ ../”可用于删除文件夹。

11、Additional Pragmas 附加语用表

Unity Shader ASE——输出面板详情_第8张图片

附加语用表

允许添加单个编译指示以控制着色器的编译和渲染。

 

12、Custom SubShader Tags 自定义SubShader标签

Unity Shader ASE——输出面板详情_第9张图片

自定义SubShader标签

允许为自定义着色器渲染控件添加自定义subshader标签。

 

13、Material Properties 材料特性

Unity Shader ASE——输出面板详情_第10张图片

材料特性

设置为属性的变量将在此部分列出,您可以通过拖动它们来调整它们的位置。

二、输出面板 

Unity Shader ASE——输出面板详情_第11张图片

标准着色器输入

  • Albedo:Albedo参数控制着色器表面的基础颜色,接受颜色值或纹理贴图。
  • Normal—法线贴图:法线贴图是一种特殊的纹理,它允许添加表面细节,例如从highpoly网格,凹凸,凹槽和划痕传递的阴影信息。您可以在此处连接法线贴图或自定义法线向量。
  • Emission—自发光:自发光可控制从表面发出的光的颜色和强度,而不管照明条件如何;接受完整的RGB值。
  • Metallic—金属(仅金属工作流程):在金属工作流程中工作时,金属和平滑度级别会修改表面的反射率和光响应;两个灰度输入。您可以使用从0到1的值范围,影响整个表面,甚至连接纹理,这将控制“金属”值,同时为表面的不同区域提供不同的值。0是电介质(非金属),1是全金属。
  • Specular—高光(仅高光工作流程):在高光模式下工作时,高光参数中的RGB颜色控制高光反射率的强度和颜色。
  • Smoothness—平滑度(两个工作流程):“平滑度”概念适用于“镜面反射”和“金属”工作流程,并且在这两个方面的工作方式几乎相同;也灰度。值为1的完全光滑表面可提供清晰的反射,而设为0的粗糙表面可产生没有清晰反射的漫反射色;在某些引擎中也称为“粗糙度”。
  • Ambient Occlusion—环境光遮挡:“光遮挡”输入接受一个光遮挡纹理贴图或自定义值,该贴图用于提供有关模型的哪些区域应显示高或低间接照明的信息,这些信息来自环境照明和反射。遮挡图是灰度图像,其中白色表示应该接受完全间接照明的区域,而黑色表示没有间接照明。
  • Transmission—透射:透射是一种高度优化的近似光散射的方式。换句话说,它定义了从后面照亮表面时有多少光穿过,这对于树叶,布料甚至蜡像等不太细腻的资产来说是理想的选择。接受完整的RGB输入。
  • Translucency—半透明:通过半透明输入,您可以通过控制光法线角度衰减偏移,以一种简单且优化的方式近似SSS(子表面散射)效果。它通常用于皮肤效果,但足够灵活以用于其他用途;接受完整的RGB输入。
  • Refraction—折射(“透明”渲染类型):“折射”输入需要将“渲染类型”设置为“透明”的材质球,用于模拟通过玻璃或水等介质看到的对象的变形效果,这是通过屏幕空间UV偏移实现的折射背景像素;接受完整的RGB输入。这种技术是对光现象的简单近似,当波从具有给定折射率的介质传播到具有另一种倾斜角度的介质时,通常会发生这种现象。
  • Opacity —不透明度(透明渲染类型):“不透明度”输入需要将其“渲染类型”设置为“透明”的着色器,使用从0到1的值范围(从完全透明到完全不透明)来设置整个曲面的透明度。分别; 接受完整的RGB输入。
  • Opacity Mask—不透明蒙版(“透明”渲染类型):“不透明蒙版”需要将其“渲染类型”设置为“透明”或“蒙版混合模式”的着色器,并且在从完全透明到完全不透明,但不考虑其间的值,从而导致在特定区域完全可见或完全不可见的表面。对于定义复杂实体表面(例如金属丝网或链节)的材料而言,这是完美的解决方案,因为不透明的部分仍会考虑照明;接受灰度输入。
  • Local Vertex Offset—局部顶点偏移(相对顶点输出):局部顶点偏移输入可用于通过顶点操纵来更改曲面的形状,其中XYZ坐标将定义每个顶点如何从其相对位置偏移。
  • Local Vertex Position—局部顶点位置(绝对顶点输出):局部顶点位置的工作方式与局部顶点偏移输入类似,但是,不是将每个顶点从其相对位置偏移,而是将顶点在绝对世界空间方向上偏移。
  • Local Vertex Normal—局部顶点法线:“局部顶点法线”允许调整任何偏移曲面的法线方向,因为不能实时计算“网格法线”。此过程通常称为“正常重建”。
  • Tessellation—细分:“细分”输入允许细分网格的三角形,并在运行时将其拆分为较小的三角形,以增加任何给定网格的表面细节。
  • Debug—调试:“调试”输入将生成一个预览着色器,该着色器将忽略所有其他活动输入,仅绘制插入其输入端口的内容,而不考虑照明。请注意,并非所有节点或特定组合都可以在调试模式下预览。

你可能感兴趣的:(Shader)