转载作品

【新手向】Shader Forge 入门学习(一) 基础操作

哈利路亚 发表于   2021-12-13 11:05:56
4940
2
38

一、什么是Shader?

着色器 (Shader) 应用于计算机图形学领域,指一组供计算机图形资源在执行渲染任务的时使用的指令,用于计算机图形的颜色或明暗。但近来,它也能用于处理一些特殊的效果,或者视频后处理。通俗的说,着色器告诉电脑如何用特有的一种方法去描绘物体。作为渲染器的一部分,负责计算目标的颜色,主要图形软件库有OpenGL和Direct3D。 (摘录于百度百科)


着色器就是用于绘制游戏中的物件资源,用于确定当前正在被渲染的表面颜色,透过使用纹理、光源、光色、网络数据等信息计算该处的颜色。




二、Shader Forge基础操作

1、简介

Shader Forge是适用于Unity基于节点的着色器编辑器,可以轻松创建自己的着色器,而不需要写代码!


官方提供了快速入门的文档:http://www.neatcorporation.com/Projects/ShaderForge/Media/ShaderForge_QuickStart-sc.pdf


您也可以直接看我的博客,小生会结合官方文档做更全面的介绍!


小生这里提供一个1.3.8.0版本的,用于大家学习,如需商用,还请到Asset Store下载正版!


链接:https://pan.baidu.com/s/1tDevkk4xhLLuJBElP1vhHw 密码:3fgb


注意该版本尚不支持Unity 2018,不过2018已经有了内置的着色器编辑器Shader Graph,基本操作和思想与Forge基本一致。




2、界面介绍

<1>开始窗口

菜单栏 Window-Shader Forge,打开编辑器窗口,点击New Shader按钮,开始制作Shader。Load Shader 用于加载Shader Forge制作的Shader


Shader Forge 入门学习一 基础操作_胖胖的橘猫君-CSDN博客_shaderforge.png



按下New Shader 创建Shader,Shader Forge已经提供了一些Shader模板


Shader Forge 入门学习一 基础操作_胖胖的橘猫君-CSDN博客_shaderforge (2).png




从左到右依次介绍如下:


Unlit :指没有光照效果,不会受到光照的影响


Lit(PBR) :基于物理渲染材质,效果更加真实


Lit(Basic) :Blinn Phong


Custom Lighting :自定义光照


Sprite :用于2D精灵材质


Particle :适用于粒子


Sky :适用于天空盒子


Post Effect :用于屏幕后处理



<2>主界面

Shader Forge 入门学习一 基础操作_胖胖的橘猫君-CSDN博客_shaderforge (3).png


1:3D预览窗口,用于查看着色器运行时的外观


2:着色器设置窗口,用于设置着色器的渲染方式


3:节点操作区,用于创建和操作节点


4:节点浏览器,用于查找所有的节点,在Settings中可以打开和关闭


先观察左边的窗口

Shader Forge 入门学习一 基础操作_胖胖的橘猫君-CSDN博客_shaderforge (4).png


标签栏和预览窗口:


Return to menu:返回创建Shader的界面


Setting:对Shader Forge的创建界面进行设置


Real-time node rendering 节点实时渲染,勾选可以实时渲染着色器效果


Use scroll in the quickpicker 勾选后可以使用滚轮快速选择,当我们在ShaderForge面板按下某节点的首字母,就会列举出所有相关的节点,这时候就可以用滚轮去选择节点


Show variable name & precision 显示变量名和精度


Show node browser panel 显示节点浏览器窗口


Hierarchal Node Move 一起移动父节点,但也可以不勾选,通过按Ctrl键和鼠标左键


Compile shader:编译Shader,在改变Shader的一些节点之后,需要点击该按钮进行编译,然后在下面的预览窗口中才会显示效果,也可以勾选Auto,在改变Shader后自动编译。其有三种颜色表示三种编译状态,绿色表示编译成功,正常运行;黄色表示编译成功,但可能达不到预期效果,看预览窗口下的Console控制台,会有警告提示,点击感叹号可以自动修改问题;红色则表示编译失败。


下一排的小圆点可以更换显示效果的模型


Skybox单选框表示是否显示天空盒子


Rotate单选框表示是否旋转


在预览窗口中,滚轮可以缩放效果显示,左上角的照相机的Icon,可以快照下当前材质的连接通道和渲染效果。


下面的Select按钮,可以快速选择到Project窗口中的Shader对象。


着色器设置窗口:


Shader Setting:Shader的总体设置


Path:Shader的名称路径


Fallback:失败时的回调,可以理解为某些平台运行不了时候的备胎材质


LOD:例如LOD设置为200,当距离超过LOD值时,会调用Fallback的材质


Draw call batching:是否启用批处理,批处理会导致顶点无法操作,在使用顶点动画时一定要关闭


Inspector preview mode:针对的对象模式是2D、3D还是Sky


Target renderers:渲染平台的选择,例如发布IOS系统,需要勾选IOS Metal,避免特殊问题的出现


Properties:该Shader在Inspector面板显示时,能看到的属性,可以更改节点名字,上下更换位置


Lighting:Render Path:设置渲染路径 Forward是正向渲染,适用于手机等移动平台,仅支持单个光源。Deferred延时渲染,适用于电脑平台,特别是点光源多的情况下,延时渲染能提升处理性能。


                  Light Mode:Blinn-Phong是最经典的半兰伯特高光光照模型,逻辑比较简单,PBL就是PBR的光照模型

                  Light Count:预览效果时,一个方向光,还是多个光源


Geometry:Face Culling:Bakeface Culling 剔除背面 frontface Culling剔除正面 Double Sided用于双面显示


Blending:Blend Mode混合模式:Opaque 不透明的,AlphaBlended透明的,注意需要将Color节点右边的A通道连接到 Main节点下的Opacity输入通道,才会有透明效果。如下图所示。


Shader Forge 入门学习一 基础操作_胖胖的橘猫君-CSDN博客_shaderforge (10).png


Receive Fog:是否接受雾效果,一般不勾选,因为如果涉及复杂的运算,效果可能会有问题


Auto Sort:自动排序,用于调整渲染的队列




<3>快捷键 :

Ctrl + 鼠标左键 :一起移动父节点


Alt + 鼠标左键 :框选节点


Alt + 鼠标右键:取消连接线


通过点击节点名称的首字母,快速调出该节点的窗口,例如点击C键,出现Color的节点窗口




2、简单操作

Shader Forge通过连接各个节点,最后连到Main的输入通道,从而实现各种效果。


注意:节点的输出连接线有几根就说明该值是几维数据


鼠标右键可以查看所有的节点,节点名称首字母可以快捷选择节点


选择节点,按删除或者退格键即可删除


Main节点是所有着色器的中心,创建的所有节点都要连接到该节点,它有为不同目的服务的输入通道

Shader Forge 入门学习一 基础操作_胖胖的橘猫君-CSDN博客_shaderforge (11).png




现在,实现一个简单的着色器作为演示


1、按T键,创建Texture 2D节点,节点顶部可以更改名称,例如“Diffuse”


2、按C键,创建Color节点,更改名称为“Color”


3、按M键,创建Multiply节点


4、将Texture 2D节点的RGB输出连接到Multiply节点的A输入通道


5、将Color节点的RGB输出连接到Multiply节点的B输入通道


7、将Multiply节点的输出接口连接到Main的Diffuse的输入通道


8、点击Conpile Shader,编译shader


9、在Project窗口中,右键单击该着色器,Creat-Material,创建该着色器的材质,赋予给场景中的对象


Shader Forge 入门学习一 基础操作_胖胖的橘猫君-CSDN博客_shaderforge (12).png



转自 虚拟喵

没有标签
确定
评论(2)
jo帕斯
大佬,这个怎么安装啊,我拖进去然后没找到
回复
740天前
plml
好东西 感谢分享
回复
869天前
没有更多啦~
  • 咨询
    客服
  • 扫码加入QQ群 或搜索QQ群号: 797421367
  • 扫码关注公众号 或微信搜索: cokey游戏特效