Unity Shader 之 Amplify Shader Editor

| 发布     | 分类 Shader  | 标签 Shader 





相关文档

Amplify Shader Editor入门教程

Unity Products:Amplify Shader Editor 官方文档

Unity: Shader Reference

Unity: 去下载想要版本的内置Shader

1.主属性(Main Properties)

光照模型

定义表面如何反射光,通常称为所使用的着色器类型。 ASE目前提供标准(金属 Standard(Metallic))、标准镜面(Standard Specular)、Lambert和Blinn Phong。

Lamber

标准镜面(Standard Specular)

Blinn Phong

Unlit (无光源)

自定义光照

查看Unity内置光照模型源码

  1. 去官网下载 对应版本的 内置着色器
  2. 解压将怎个文件夹拖到Sublime Text
  3. 搜索文件

着色器模型(Shader Model)

当编写表面着色器或常规着色器程序时,HLSL源可以编译成不同的“着色器模型”。更高的着色器编译目标允许使用更多的现代GPU功能,但可能使得着色器不能在较旧的GPU或平台上工作。

精度(Precision)

定义内部计算的精度,使用较低类型提供了额外的性能提升以换取一些精度。默认设置为Float。

剔除模式(Cull Mode)

Front – 剔除前向几何体,Back – 剔除后向几何体,关闭 - 禁用剔除(双面材料)。默认情况下设置为Back。

渲染路径(Render Path)

允许您定义着色器支持哪种模式(提前Forward / 延时Deferred)。默认设置为全部。

Forward Only:

Deferred Only:

投射阴影(Cast Shadows)

定义使用着色器的对象是否投射阴影。

接收阴影(Receive Shadows)

定义使用着色器的对象是否接收阴影,这包括自阴影(只有使用正向渲染)。

队列索引(Queue Index)

渲染队列偏移值,接受正(较晚)和负(较早)整数。

LOD

2. 混合模式(Blend Mode)

混合模式(Blend Mode):

所选模式自动调整可用参数;不透明(Opaque),遮罩(Masked),透明(Transparent),Alpha预乘(Alpha  Transparent)或自定义(Custom)。

不透明(Opaque)

遮罩(Masked)

透明(Transparent)

Alpha预乘(Alpha  Transparent)

渲染类型(Render Type):

该标记将着色器分为几个预定义组。可用标签:不透明(Opaque),透明(Transparent),透明抠出(Transparent Cutout),背景(Background),覆盖(Overlay),不透明树(Tree Opaque),透明树剪出(Tree Transparent Cutout),布告板树(Tree Billboard),草和布告板草皮(Grass and Grass Billboard)。

渲染队列(Render Queue):

为了获得最佳性能,通过几何体渲染队列排布,从而优化对象的绘制顺序。所有其他渲染队列按距离对对象进行排序,从最远的那些开始渲染,并以最接近的结束。可用选项有背景、几何、Alpha测试、透明和覆盖。

掩码片段值(Mask Clip Value):

要与不透明度alpha比较的默认值。 0完全不透明,1完全掩蔽。默认设置为0,常用于透明抠出(Transparent Cutout)材质。

混合RGB和混合Alpha(Blend RGB and Blend Alpha):

当渲染图形时,在所有着色器执行并且所有纹理都应用后,像素被写入屏幕。它们如何与已经存在的内容组合由Blend命令控制。 ASE目前提供定制、Alpha混合(Alpha Blend)、预乘(Premultiplied)、加法(Additive)、软加法(Soft Additive)、乘法(Multiplicative)和2x乘法(2x Multiplicative)模式。

Alpha混合(Alpha Blend)

预乘(Premultiplied)

加法(Additive)

软加法(Soft Additive)

乘法(Multiplicative)

2x乘法(2x Multiplicative)

粒子叠加 (Particle Additive)

混合因子(Blend Factor)(SrcFactor & DstFactor):

以下所有属性都适用于混合命令中的SrcFactor&DstFactor。源指的是计算的颜色,目标是已经在屏幕上的颜色。如果BlendOp使用逻辑运算,则忽略混合因子。

混合操作RGB和混合操作Alpha(Blend Op RGB & Blend Op Alpha):

添加(Add)、子(Sub)、修改子(Rev Sub)、最小(Min)和最大(Max)。

颜色蒙版(Color Mask):

设置颜色通道写入蒙版,将其全部关闭使其不可见。

3.模板缓冲(Stencil Buffer)

模板缓冲器可以用作每像素掩模的通用目的,用于保存或丢弃像素。它通常是每个像素8位整数。该值可以写入、递增或递减。 后续绘制调用可以根据该值进行测试,以决定是否应该在运行像素着色器之前丢弃该像素。

参考(Reference):要比较的值和/或要写入缓冲区的值(如果Pass,Fail或ZFail设置为替换)。范围是0-255整数。

读取掩码(Read Mask):作为0-255整数的8位掩码,用于将参考值与缓冲区(referenceValue&readMask),比较方法comparisonFunction(stencilBufferValue&readMask)的内容进行比较。默认值是255。

写掩码(Write Mask):8位掩码,作为0-255整数,写入缓冲区时使用。默认值是255。

比较(Comparison):用于将参考值与缓冲区的当前内容进行比较的函数。默认值是always。

通过(Pass):如果模板测试(和深度测试)通过,对缓冲区的内容做什么。默认值是keep。

失败(Fail):如果模板测试失败,对缓冲区的内容做什么。默认值是keep。

ZFail(ZFail):如果模板测试通过,则缓冲区的内容如何处理,但深度测试失败。默认值是keep。

4. 曲面细分(Tessellation)

冯氏曲面细分(Phong):修改细分面的位置,使得生成的面稍微跟随网格法线,默认设置为OFF。

类型(Type):定义所使用的技术,基于距离、固定、边长和边长Cull。

曲面细分因子(Tess):范围是1-32。

最小值(Min):最小细分距离。

最大值(Max):最大细分距离。

5. 深度(Depth)

ZWrite模式(ZWrite Mode):控制来自此对象的像素是否写入深度缓冲区(默认为开)。如果你画的是实体对象,请保持此状态。如果您绘制半透明效果,请切换到ZWrite Off。

ZTest模式(ZTest Mode):如何进行深度测试。默认值为LEqual(将对象从现有对象或远距离绘制为现有对象;隐藏其后面的对象)。 ASE提供ZTest 小于(Less)、大于(Greater)、小于等于(LEqual)、大于等于(GEqual)、等于(Equal)、不等于(NotEqual)和通常(Always)。

偏移(Offset):允许您使用两个参数指定深度偏移 — 因子和单位。因子相对于多边形的X或Y缩放最大Z斜率,单位缩放最小可分辨深度缓冲区值。这允许您强制一个多边形绘制在另一个顶部,虽然它们实际上在相同的位置。例如,偏移(0,-1)拉动多边形更接近相机忽略多边形的斜率,而偏移(-1,-1)将拉近多边形,看看掠角。

因子(Factor):相对于多边形的X或Y,缩放最大Z斜率。

单位(Units):单位缩放最小可分辨深度缓冲区值。

渲染选项

6. 渲染平台(Rendering Platforms)

定义支持哪些平台, 默认设置为全部。

7. 可用属性(Available Properties)

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

 

上一篇: 游戏视频之Juest Outlaws
下一篇: Unity Shader 学习笔记(008)Pass 之 Tags