subtance designer 和 unity插件unity3d shader教程forge有什么区别,求解

1629人阅读
unity(50)
Camera2D Pro 很强大是摄像机工具
2D Dynamic Lights and Shadows PRO 2d阴影
Explosion Sound Effects 爆炸特效包
Top-Down Assets Mobile 游戏视图工具包,其中包括90个环境模型:灌木丛、树干、土地、木料、模块化建筑、模块化废墟等。工具包中含有一个demo,
Toon shader 卡通着色器
FX Maker 制作特效的工具
Tile Based Map and Nav 多用于策略游戏和棋盘游戏,它是一款瓦片状网格辅助开发组件
Playmaker 适合不懂代码的人写游戏
TuDee 编辑关卡
EasyWater 逼真的水面插件
ShaderForge 可视化编辑shader
ink-制作语言类游戏的工具
Pixelation Camera,将画面像素化
sprite slicer,切割sprite
PolyWorld/Lowpoly Substances转化模型为low polygon风格
Turbo Slicer unity3d Unity3D的斩击工具
SplineTrailRenderer 曲线绘制工具
Painterly 制作手绘效果的插件
ParticlePlayGround
酷炫粒子特效
proPixel 3D Paint 绘制体素
Particle Scaler Tool 方便改变粒子scale
Glow Effect (Mobile Friendly)
Poly|Nav Unity2D 寻路插件
Game Optimization Toolkit
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:82721次
积分:1547
积分:1547
排名:千里之外
原创:62篇
转载:15篇
评论:10条
(1)(2)(2)(3)(2)(3)(4)(6)(10)(6)(19)(1)(4)(1)(1)(1)(2)(5)(4)(7)
邮箱:zhiheng.
豆瓣:/people//
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'[转载]【风宇冲】Unity3d插件之Shader&Forge第二讲
分享&U3D&材质编辑器&Shader&Forge&基础认识篇2&原创文章如需转载请注明:转载自
& & Shader Forge
第二讲:顶点颜色以及UV设置
首先介绍一下快捷键:
鼠标左键点击拖拽编辑区域
Alt+鼠标滚轮 = 缩放编辑区域
【顶点颜色】
添加Vertex Color节点,再通过拖拽桥接至Main面板对应节点(如Diffuse)即可
【UV Tiling】
添加Multiply节点,右侧连 UV Coorddinates节点和 Value节点,左侧连Texture2D节点。UV
Coorddinates节点输出u或者v或者uv.根据采样的位置取值0-1,可以通过Multiply节点等和Value节点做运算。
【实例:将2个带法线的贴图通过顶点颜色混合】
首先我们使用SF工程中附带的一个特殊的名为“sf_vertex_color_hexgon”的模型,该模型是一个六边形面片。周围一圈的顶点颜色为(0,0,0,0),使用一张贴图,中间位置顶点颜色为(1,1,1,1)使用另外一张贴图,过渡区域通过lerp混合。
如下图,A和A_copy是一组贴图/法线贴图,B和B_copy是另外一组贴图/法线贴图。顶点颜色为0的部分使用A贴图,为1的部分使用B贴图。它们接受同样的从Multiply输出的UV。贴图之间,法线贴图之间分别混合。A和B通过顶点颜色在Lerp节点通过顶点颜色作插值计算混合。法线贴图之间在下方蓝色Lerp节点通过顶点颜色作插值计算混合。各自桥接,最后通过下图黑色lerp节点对B区域赋予高光。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Unity给力插件之ShaderForge(一) - CSDN博客
Unity给力插件之ShaderForge(一)
这是一个用来制作shader的插件,也是一个很好的学习shader的工具。这个插件上手很容易,但是要用它来制作理想的Shader,需要下点功夫。
这儿先列举出基础知识,以及我的一些实践。以后我还会继续学习并记录更多的内容。
一、基本操作:  
  1)、截断连线:按住alt并右键
  2)、框选:按住alt键并框选
  3)、对于不认识的节点,右键选择what,出现API官网,可选简体字
二、开始设置:  
  1)、新建材质要命名并设置好路径
  2)、考虑shader可能会运行的平台或显卡配置
  3)、渲染路径:向前渲染或延迟渲染,后者能避免重复渲染,提高渲染效率,但不能实现抗锯齿和混合技术
  4)、光照模式:自定义光照等
  5)、镜面反射模式:镜面或金属
  6)、光泽模式:光泽或粗糙
  7)、Geometry-&Face Culling:背面切除或正面切除或双面渲染
  8)、Blend Mode:混合模式
三、Main输出端:&
  1)、Diffuse Power:漫反射力道,相当耗能
  2)、Metallic:金属质感,值越大时漫反射越小
  3)、Gloss:光泽,值越高光泽度越高,1为极值,物极必反
  4)、Emisson:自发光
  5)、Transmission:透射,决定有多少光线可以透过材质
  6)、Light Wrapping:环绕光,让光线或某个通道的值环绕对象,可做出皮肤的效果
  7)、Diffuse Ambient Light:漫反射环境光,添加光线或环境光或立体贴图,不用自发光或光源,也能显亮
  8)、Specular Ambient Light:镜面反射环境光,可映出环境的贴图???
  9)、Diffuse Ambient Occlusion:漫反射环境光遮罩,抑制间接漫反射光线
  10)、Specular Ambient Occlusion:镜面反射环境光遮罩,抑制间接镜面反射光线
  11)、Custom Lighting:自定义照明,被光照射时,自定义照射效果
  12)、Opacity:不透明度,控制最终像素的透明度
  13)、Opacity Clip:不透明度剪切,根据阿尔法通道剪切不透明区域
  14)、Refraction:反射,用于折射背景像素的屏幕空间 UV 偏移。请确保在使用前将 Opacity(不透明度)设置为低于 1 的值,以便折射效果可见
  15)、Outline Width:描边宽度
  16)、Vertex Offset:顶点偏移,插入每个顶点所需偏移量的 XYZ 坐标
  17)、DX11 Displacement:DX11 位移,此选项和 Vertex Offset(顶点偏移)的作用非常类似,但是与 DX11 曲面细分一起使用。(请注意,DirectX 仅适用于 Windows,需要 DX11 GPU 且必须在 Unity 设置中启用)
  18)、DX11 Tessellation:DX11 曲面细分,此选项控制您要将三角形分割为多少个细分。(请注意,DirectX 仅适用于 Windows,需要 DX11 GPU 且必须在 Unity 设置中启用)
四、部分节点:  
  1)、加减乘除:Add、Subtract、Multiply、Divide
  2)、乘方、平方根、对数:Power、Sqrt、Log
  3)、绝对值:Abs
  4)、Sign:取正负号及0
  5)、Ceil:进位取整,输出时将其输入向上舍入为最近整数
  6)、Round:四舍五入
  7)、Floor:舍位取整,输出时将其输入向下舍入为最近整数
  8)、Trunc:去零取整
  9)、Step:比较,输出0或1,用来区分出每一层的明暗,输出的是黑白纹理
  10)、If:条件
  11)、Frac:取小数部分,此节点在与 Time(时间)节点一起使用时非常有用,会随时间变化带来锯齿波
  12)、Fmod:取模,输出 [A] 除以 [B] 的余数
  13)、Clamp:限定范围
  14)、Lerp:插值,如果 [T] 为两者间的任一值,则将输入两者的线性混合
  15)、Posterize:色调分离,基于经过 [Steps] 的值对值进行四舍五入取整。[Steps] 值为 5 时将在 0 到 1 的范围内创建 5 段
  16)、Blend:混合,有不同的混合方式,用时查看API
  17)、Remap:重映射,将值从一个范围重映射到另一个范围,用来加深或减弱
  18)、Noise:噪音,根据两分量输入(例如 UV 坐标)生成伪随机点
  19)、One Minus:1 减,输出 1 减去其输入。与颜色输入一起使用时,将反转颜色
  20)、Negate:取反,输出其主输入乘以 -1。实质上让正值变负,让负值变正
  21)、Component Mask :分量遮罩,遮罩某个通道
  22)、Channel Blend :通道混合
  23)、Fresnel:菲涅耳,边缘亮显的效果
五、实例:
  1.自定义光照:
本文已收录于以下专栏:
相关文章推荐
这篇文章主要讲全局光照,在看教程的时候就有一个点不是很理解,就是作者开启物体的static这个选项。在网上查找一些资料,有的说”static表示物体时静态的,多用于静止不动的物体,此外static有多...
在Unity开发中,难免有的时候会用到双面材质,可通过修改Shader达到想要的效果。
默认情况下,我们编写的Shader都只对模型的正面进行渲染,因为大多数模型都是封闭的,我们看不到反面。在实际的开发过程中,也经常会遇到需要正反面都渲染的时候,比如开发手游的时候经常需要用一个面片+透明...
上回说过,片段经过fragment处理后,会经过混合处理,最终变为缓冲区中的颜色数据。这里的混合,指的是处理后的片段颜色与已经存在于缓冲区中的颜色进行混合。具体的混合规则使用Blend语句来指定。Bl...
上次我们说到一个完整的Shader的比较完整的框架,如果大家之前没有接触过3D相关的技术的话看起来可能会比较吃力,其实这也在猫猫的意料之中的。3D技术入门是比较困难的,但是入门之后就会越学越觉得容易。...
今天我们用学过的Shader知识实现一个简单的玻璃材质。首先,玻璃是半透明的  玻璃最主要的特点就是它是透明的,不同的玻璃有不同的不透明度,水杯的透明度比较低,而装药品的棕色玻璃瓶不透明度就比较高。当...
转载:/forum/read.php?tid=3024
Unity内置的Shader,都是单面效果,想必导入Mesh的同学都碰到过这样的痛苦,布料...
可编程Shader,通常也被叫做Vertex&Fragment Shader,是比Surface Shader更灵活的一种Unity Shader形态。使用可编程Shader,可以实现对最终效果的更精...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)【Unity】ShaderForge插件入门教程
一.安装说明
Unity Asset Store购买并下载
其他渠道下载ShaderForge Package。
将Package导入到Unity。
Unity引擎菜单栏:Windows标签-&Shader Forge打开插件使用界面
二.界面说明
~打开插件后的界面
New Shader:新建一个Shader文件
Load Shader:导入已有的Shader文件
PolyCount thread:PolyCount页面
Unity:Unity Forum的页面,在Unity Asset Store上架的资源在Unity Forum均有页面,有问题可以去里面提问。
Node Documentation:Shader Forge中的节点说明文档(重要)
Wiki:Shader Forge的维基文档
~选择New Shader后的界面
Unlit:无光照的Shader模板,选择此模板,使用该Shader的材质将不受光照影响。
Lit(PBR):符合Unity PBR的Shader模板,采用基于物理的光照模型。
Lit(Basic):使用Blinn-Phong光照模型的Shader模板。
Custom Lighting:自定义光照Shader,在此Shader模板中实现自己的光照模型。
Sprite:2D精灵Shader模板,基于2D。
Particle(Additive):主要应用在发光效果的粒子Shader。
Particle(Alpha-Blended):主要应用在细碎效果的粒子Shader,如风沙。
Particle(Multiplicative):主要应用在昏暗效果的粒子Shader,如黑烟。
Sky:天空。
Post-Effect:屏幕空间后期处理Shader
~以选择Unlit模板进入的界面来说明
红框区域为Shader的通道,黑色的通道为该Shader模板激活的通道,灰色通道为该Shader模板冻结的通道。只有激活的通道可以连接节点。
红框区域常用通道:
Diffuse:漫反射通道
Specular:镜面反射通道
Normal:法线通道
Emission:自发光通道
Opacity:不透明度通道
橙色区域为节点,图中的节点是新建Shader后默认连接的Color节点。
黄色区域为预览窗口,用来观察Shader效果。
黄色区域上方属性:
Return to menu:返回界面1。
Settings:Shader Forge界面的一些设置,讲解见后文。
Compile shader:编译为.shader文件,编译成功按钮为绿色,编译不成功or改动后按钮为红色。
Auto:是否自动编译shader,建议选中。
黄色区域内属性:
属性1:选择预览的模型。
属性2:预览窗口的背景色。
Skybox:选择天空盒,在不受天空影响的模板中被冻结。
Rotate:选中后模型自动旋转。
紫色区域为相关属性选择列表,讲解见后文。
三.简单案例
根据目前移动平台的依旧广泛使用Blinn-Phong光照模型的特点,我们选择Lit(Basic)模板,来制作一个移动平台的Shader。通过简单的制作流程,来了解Shader Forge的基本使用。
以上效果可以分解为漫反射通道制作,法线通道制作,高光通道制作,描边制作。
具体步骤:
选择New Shader,在新界面中选择Lit(Basic)模板,修改你的文件名并选择文件路径确定。
预览窗口中的预览模型使用默认的球体,背景色改为白色,选中Rotate。
在节点编辑窗口中,鼠标左键拖动视图,将节点以及通道调整的合适的位置。
鼠标右键菜单中Properties-&Texture2D,选中并在节点视窗生成一个Texture2D节点。(在Settings中,选中show node browser panel可以在屏幕右侧面板快速选中。)鼠标左键拖动到Color节点附近。
选中Texture2D节点,点击节点上出现的Select按钮,在出现的窗口中选择一张漫反射纹理贴图。
选中Color节点,点击节点上出现的颜色选择按钮,在出现的色盘中选择颜色。
Arithemtic-&Multiply生成一个Multiply(乘)节点,将Color和Texture2D的RGB输出引脚分别拖动连接到Multiply的A,B两个输入引脚上。(节点的右侧引脚为输出引脚,左侧引脚为输入引脚。连接方式为:节点1输出引脚——节点2输入引脚or通道)
调整三个节点的位置,Alt+鼠标左键框选三个节点并移动到通道附近,将Multiply的输出引脚连接到Diffuse通道上。
点击Compile Shader,建议Auto。这时可以看到预览窗口中已经有了纹理叠加颜色后的效果了。(color1*color2,等同于Photoshop中的正片叠底效果。)
重复步骤4生成一个Texture2D节点,重复步骤5选择一张法线贴图。
勾选Texture2D节点上的Normal map,并将上方的White改为Bump。(Normal map使用法线贴图必勾选,White修改为Bump使得在材质编辑器中选择一张Texture Type为Default类型的纹理时,会提醒你是否修复为Normal map。)
将法线纹理节点的RGB引脚连接到Normal通道上。预览窗口中的模型将表现出法线的凹凸效果,可以鼠标右键移动光源观察。
重复步骤4生成一个Texture2D节点,重复步骤5选择一张高光贴图。
将法线纹理节点的RGB/R/G/B/A引脚连接到Specular通道上。(高光贴图如果只占用一个通道,那就只选择相应的通道引脚连接。)
Constant Vectors-&Value,生成一个Value节点,输入0.05并连接到Outline Width通道,此时预览窗口可以看到黑色的轮廓边缘。
Properties-&Color,生成一个Color节点并修改颜色,连接到Outline Color通道,此时预览窗口可以看到相应颜色的轮廓边缘。
在左下角的属性选择列表区域,点开Properties标签,修改节点的名称(英文)。(或者在节点上方的label里修改。)里面每个属性标签都将暴露在材质编辑器界面供美术进行参数调节,修改的名称则是你在材质编辑器中看到属性名称。
上下拖动标签可以改变属性的顺序。
但是调节边缘宽度的属性并没有暴露出去
将Value节点连接到Outline Width的线断开(Alt+鼠标右键),使用Properties-&Value替换该节点。(Constant Vectors-&Value生成的Value节点是常量,不可修改,也就不会暴露给编辑器。)
回到Unity,选择.shader文件并create material。
基础操作和讲解见官方入门指南
更多案例详见官方教程文档
节点在Shader Forge里面分为以上几个大类。
Arithmetic:包含各种数学计算公式。常用abs(绝对值),Max/Min(最大/最小值),OneMinus(1-),Lerp(线性插值),Floor(向下取整),Multiply(乘)。
Constant Vectors:常数变量,一维到四维以及4*4矩阵,不会暴露给材质编辑器。
Properties:包含暴露给材质编辑器的各种属性。常用Color,Texture2D。
UV Operations:针对UV的相关操作。
Geometry Data:包括了几何体的输入数据,包括模型的UV,法线方向,世界坐标等等。
Lighting:光照的相关数据,主要用于Custom Lighting Shader模板中。
External Data:其他数据,包括视点位置,屏幕参数,时间等。
Scene Data:场景数据,包括fog颜色,场景深度等信息。
Math Constants:数学常量,如π。
Trigonometry:三角函数。
Code:代码块,函数块。
Utility:略。
节点详述请参考节点文档:
五.属性列表
Shader Settings标签
Path:文件路径,可修改。
Fallback:在运行平台硬件不支持该shader的情况下,选择替代shader。
Allow using atlased sprites:2D开发使用,3D默认即可。
Draw call batching:批处理绘制调用,默认Enable。
Inspector preview mode:3D/2D/sky,制作的什么类型选什么。
Target renderers:目标渲染器,如无特殊需求,默认。
Properties标签
在此标签修改暴露给材质编辑器的属性名称(英文),顺序以及默认值。Texture2D没有默认值。
Lighting标签
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标签
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标签
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:是否开启模板缓存。
Settings内容
Real-time node rendering:实时节点渲染,是否开启看需求。
Using scroll in the quickpicker:在快速拾取中使用滚动。
Show variable name & precision:显示变量名和精度,看需求开启。
Show node browser panel:显示节点浏览面板,是否开启看个人习惯。
Hierarchal Node Move:层次节点移动。
节点尽量精简。
浮点精度降低,开启Show variable name & precision后,每个节点会显示变量名称和精度。针对移动平台,需要降低浮点精度以符合GPU的需求。Float/Half/Fixed精度分别为32/16/11位。常规颜色使用fixed,包括纹理数据;短向量,方向,模型空间坐标以及高动态范围颜色用half;世界空间坐标,纹理坐标,以及需要复杂计算的三角函数,指数幂函数计算使用float。
计算过程中,尽量避免数据类型转换。
阅读(...) 评论()}

我要回帖

更多关于 unity shader time 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信