Unity ShaderForge插件的使用

摘要:
在ShaderForge(重要)Wiki中导入现有的着色器文件PolyCountthread:节点描述文档:一个没有照明的着色器模板,使用该着色器的材质不会受到照明的影响。使用基础照明模型的“着色器”模板。自定义照明着色器,并在此着色器模板中实现自己的照明模型。2D精灵着色器模板主要用于具有发光效果的粒子着色器。主要用于暗淡效果的粒子着色器。

Unity ShaderForge插件的使用第1张

window--->Shader forge

Unity ShaderForge插件的使用第2张

New Shader:新建一个Shader文件

Load Shader:导入已有的Shader文件

PolyCount thread:PolyCount页面

Unity:Unity Forum的页面,有问题可以去里面提问。

Node Documentation:Shader Forge中的节点说明文档(重要)

Wiki:Shader Forge的维基文档

Unity ShaderForge插件的使用第3张

新建Shader forge

Unlit:无光照的Shader模板,选择此模板,使用该Shader的材质将不受光照影响。

Lit(PBR):符合Unity PBR的Shader模板,采用基于物理的光照模型。

Lit(Basic):使用基础光照模型的Shader模板。

Custom Lighting:自定义光照Shader,在此Shader模板中实现自己的光照模型。

Sprite:2D精灵Shader模板,基于2D。

Particle(Additive):主要应用在发光效果的粒子Shader。

Particle(Alpha-Blended):主要应用在细碎效果的粒子Shader,如风沙。

Particle(Multiplicative):主要应用在昏暗效果的粒子Shader,如黑烟。

Sky:天空盒。

Post-Effect:屏幕空间后期处理Shader

Unity ShaderForge插件的使用第4张

  • Return to menu:返回界面1。
  • Settings:Shader Forge界面的一些设置。 

  • Real-time node rendering:实时节点渲染,是否开启看需求。

    Using scroll in the quickpicker:在快速拾取中使用滚动。

    Show variable name & precision:显示变量名和精度,看需求开启。

    Show node browser panel:显示节点浏览面板,是否开启看个人习惯。

    Hierarchal Node Move:层次节点移动。

    Compile shader:编译为.shader文件,编译成功按钮为绿色,编译不成功or改动后按钮为红色。
    Auto:是否自动编译shader,建议选中。 Skybox:选择天空盒,在不受天空影响的模板中被冻结。
    Rotate:选中后模型自动旋转。 左上角摄像机按钮:保存当前的连接节点图。
    预览面板也支持缩放和旋转视图。

  • Unity ShaderForge插件的使用第5张

    Path:文件路径,可修改。

    Fallback:在运行平台硬件不支持该shader的情况下,选择替代shader。

    Allow using atlased sprites:2D开发使用,3D默认即可。

    Draw call batching:批处理绘制调用,默认Enable。

    Inspector preview mode:3D/2D/sky,制作的什么类型选什么。

    Target renderers:目标渲染器,如无特殊需求,默认。

    Properties标签
    Unity ShaderForge插件的使用第6张

  • Unity ShaderForge插件的使用第7张

    Render Path:渲染路径,正向渲染或延迟渲染,移动平台选择正向渲染即可。

    Light Mode:光照模型,对应不同的Shader模板。分别是无光照(UnLit模板)、Blinn-Phong光照模> > 型,Phong光照模型,PBL(基于物理光照,Lit(PBR)模板)。

    Gloss Mode:使用光泽度还是粗糙度模型,根据自己需要。

    Transparent Mode:透明度模式,淡出or反射。

    Remap gloss from [0,1] to [1,2048]:重映射光泽度从[0,1]到[1,2048]。

    Enery Conversing:能量守恒,PBR需要勾选。

    Lighting Count:光源数量,单一定向光(太阳光)or多重光源

    Lightmap & light probes:灯光贴图&灯光探针。

    Per-pixel light probe sampling:逐像素光照探针采样。

    Reflection probe support:支持反射探针。

    Receive Ambient Light:是否接受环境光。

    Mask directional light specular by shadows:定向光高光是否被阴影遮挡。

    Geometry标签

  • Unity ShaderForge插件的使用第8张

    Face Culling:面剔除,默认是剔除背面,可选剔除正面,也选择双面渲染。

    Normal Quality:法线质量,插值或归一化,默认使用归一化。

    Vertex Positioning:顶点位置,世界空间or裁剪空间or广告牌(法线面向摄像机)。

    Normal Space:法线空间选择,切线or建模or世界,默认切线空间。

    Vertex offset mode:顶点偏移模式,相对偏移or绝对偏移。基于模型空间的顶点偏移叫做相对偏移,世界空间的顶点偏移叫做绝对偏移。

    Tessellation Mode:曲面细分模式,一般不需要用到曲面细分。

    Outline Extrude Direction:描边挤出方向,一般都是沿着顶点法线方向。

    Per-pixel screen coodinates:逐像素屏幕坐标。

    Show 2D sprite pixel snap option in material:在材质中显示2D精灵像素单元设置,3D开发忽略。

    Blending标签

Unity ShaderForge插件的使用第9张

Blend Mode:混合模式,如果是不透明的就选择Opaque,其余根据需要选择。

Source*_+Destination*_:源*_+目标*_,决定了源图像与目标图像以哪种方式混合。

Color Mask:颜色遮罩,需要过滤的通道取消选择。

Dithered alpha clip:抖动透明裁剪,开or关。

Offset Factor:偏移因子。

Offset Units:偏移单位。

Per-object refraction/scene color (expensive):

Receive Fog:应用雾。

Auto Sort:自动排序,如需手动改变排序,在Order中改变数值。数值越小,在渲染队列越靠前。

Depth Test:深度测试。

Ignore Projectors:忽略投影器。

Write to Depth buffer:是否写入深度缓存。

Stencil Buffer:是否开启模板缓存。

3.输出通道
Diffuse:漫反射

Diffuse Power:漫反射力道,相当耗能

Metallic:金属质感,值越大时漫反射越小

Gloss:光泽,值越高光泽度越高,1为极值,物极必反

Emisson:自发光

Transmission:透射,决定有多少光线可以透过材质

Light Wrapping:环绕光,让光线或某个通道的值环绕对象,可做出皮肤的效果

Diffuse Ambient Light:漫反射环境光,添加光线或环境光或立体贴图,不用自发光或光源,也能显亮

Specular Ambient Light:镜面反射环境光,可映出环境的贴图???

Diffuse Ambient Occlusion:漫反射环境光遮罩,抑制间接漫反射光线

Specular Ambient Occlusion:镜面反射环境光遮罩,抑制间接镜面反射光线

Custom Lighting:自定义照明,被光照射时,自定义照射效果

Opacity:不透明度,控制最终像素的透明度

Opacity Clip:不透明度剪切,根据阿尔法通道剪切不透明区域

Refraction:反射,用于折射背景像素的屏幕空间 UV 偏移。
请确保在使用前将 Opacity(不透明度)设置为低于 1 的值,以便折射效果可见

Outline Width:描边宽度

Vertex Offset:顶点偏移,插入每个顶点所需偏移量的 XYZ 坐标

DX11 Displacement:DX11 位移,此选项和 Vertex Offset(顶点偏移)的作用非常类似,但是与
DX11 曲面细分一起使用。
(请注意,DirectX 仅适用于 Windows,需要 DX11 GPU 且必须在 Unity 设置中启用)

DX11 Tessellation:DX11 曲面细分,此选项控制您要将三角形分割为多少个细分。
(请注意,DirectX 仅适用于 Windows,需要 DX11 GPU 且必须在 Unity 设置中启用)
4.节点浏览器,用于查找所需的全部节点

加减乘除:Add、Subtract、Multiply、Divide

乘方、平方根、对数:Power、Sqrt、Log

绝对值:Abs

Sign:取正负号及0

Ceil:进位取整,输出时将其输入向上舍入为最近整数

Round:四舍五入

Floor:舍位取整,输出时将其输入向下舍入为最近整数

Trunc:去零取整

Step:比较,输出0或1,用来区分出每一层的明暗,输出的是黑白纹理

If:条件

Frac:取小数部分,此节点在与 Time(时间)节点一起使用时非常有用,会随时间变化带来锯齿波

Fmod:取模,输出 [A] 除以 [B] 的余数

Clamp:限定范围

Lerp:插值,如果 [T] 为两者间的任一值,则将输入两者的线性混合

Posterize:色调分离,基于经过 [Steps] 的值对值进行四舍五入取整。
[Steps] 值为 5 时将在 0 到 1 的范围内创建 5 段

Blend:混合,有不同的混合方式,用时查看API

Remap:重映射,将值从一个范围重映射到另一个范围,用来加深或减弱

Noise:噪音,根据两分量输入(例如 UV 坐标)生成伪随机点

One Minus:1 减,输出 1 减去其输入。与颜色输入一起使用时,将反转颜色

Negate:取反,输出其主输入乘以 -1。实质上让正值变负,让负值变正

Component Mask :分量遮罩,遮罩某个通道

Channel Blend :通道混合

Fresnel:菲涅耳,边缘亮显的效果

更多具体的节点信息,可以查看官方的说明
节点详细信息
绿色的节点,代表是可以进行编辑的属性,就是可以显示到Inspector面板。

5.其他中间黑色区域为节点编辑区域
用于创建和编辑节点。

Unity ShaderForge插件的使用第10张

将纹理的名字修改为 MainTex(如果以后想让贴图受到灯光贴图则必须改为这个名字) 

免责声明:文章转载自《Unity ShaderForge插件的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇高斯消元讲解 && 洛谷P3389 【模板】高斯消元法 题解Milkyway 用的不规则LEF下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Houdini中给火花渲染准确的运动模糊

估计大家都知道使用运动速度来进行运动模糊的渲染,但是往往这个方法得到的运动模糊都是线性变化的,虽然乍一看没什么问题,但是如果想要每一帧的模糊轨迹也是有曲线变化的而不是僵硬的直来直去的话,使用trail算个速度来做的运动模糊是永远做不到这一点的。 这里我想通过常用的火花(spark)的运动模糊来讲一讲我所了解的一些比较好的方法。 所谓渲染中的运动模糊无非就是...

DGL学习(一):使用DGL跑一个最简单的GCN

使用没有节点特征的图来跑DGL (输入特征为节点编号的embedding) 安装DGL : pip install dgl 所需要的包 import dgl import numpy as np import networkx as nx import matplotlib.pyplot as plt import torch import torch.n...

TouchDesigner中通过GLSL 把视频变成六角形、三角形和圆形的像素化效果

做的几个类似的滤镜实验,主要是想把普通的视频做成能有一些比较风格化的效果,参考了shadertoys里面的一些案例,然后在touchdesigner中分别实现了六角形、三角形和圆形的马赛克效果,如果再做一些颜色调整其实能达到比较有意思的互动效果。下面是效果图: original hexagon circle triangle 当然所有效果也都是实时的。 下...

Linux串口通信之termios结构体说明

termios结构体中,该结构体一般包括如下的成员:tcflag_t c_iflag;      tcflag_t c_oflag;      tcflag_t c_cflag;      tcflag_t c_lflag;     cc_t     c_cc[NCCS];    其具体意义如下 c_iflag:输入模式标志,控制终端输入方式,具体参数如下...

ndarray多维数组

创建ndarray数组 1.       通过列表创建ndarray数组   2.       通过元祖创建ndarray数组   3.       创建多维数组   4.       zeros函数   5.       ones函数   6.       empty函数   7.       arange函数   ndarray对象属性 .ndim  ...

index+small+row+if经典函数组合应用

EXCEL中index+small+row+if 函数组合可以查出满足同一条件的所有记录,通过实例讲解: 本文为原创,转载需标明出处,谢谢! 例:查找出一年级的所有班级及人数: A B  C D 1 年级 班级 人数 2 一年级 二班 36 3 一年级 三班 38 4 二年级 一班 39 5 一年级 一班 41 6 二年级...