Unity3d插件之Shader Forge第1,2,3讲

http://blog.sina.com.cn/s/blog_471132920102v2hn.html

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院

                                      

                    Shader Forge 第一讲:制作一个简单的Shader

 

Shader Forge是当今Asset Store上最火热的Shader可视化编辑工具,并获得了Unity3D 2014技术奖。本系列主要介绍如何使用该插件。本系列教程中Shader Forge简称SF。

第一部分:制作一个简单的Shader

【第一步 创建新Shader】

【第二步 创建Texture2D节点】

【第三步 设置贴图

【第四步 桥接输出

第二部分:加入法线贴图并添加设置颜色的功能

【法线贴图】添加Normal节点,赋予法线贴图并桥接至Main面板中的Normal。

【添加颜色】通过Add模块, 混合Texture2D和Color并输出。


第一部分:制作一个简单的Shader

【准备阶段 导入插件】

【第一步 创建新Shader】(必须通过SF创建)

打开主界面:点击Window-> Shader Forge

创建新的Shader:点击New Shader

【风宇冲】Unity3d插件之Shader <wbr>Forge第一讲

【第二步 创建Texture2D节点】
创建后界面如下(该面板可以通过 Shader Inspector ->Open In Shader Forge打开)

拖拽Texture2D模块进入编辑区域并起名为Diffuse(也可以通过编辑区域右键->Properties->Texture2D打开)

【风宇冲】Unity3d插件之Shader <wbr>Forge第一讲

【第三步 设置贴图

点击Select选择贴图sf_conc_floor_01_d
【风宇冲】Unity3d插件之Shader <wbr>Forge第一讲

 【第四步 桥接输出

拖拽RGB至Diffuse

【风宇冲】Unity3d插件之Shader <wbr>Forge第一讲

链接后Shader自动被编译,然后在左侧的框可以看到预览了。

【风宇冲】Unity3d插件之Shader <wbr>Forge第一讲


第二部分:加入法线贴图

【法线贴图】

再次创建Texture2D节点并选择sf_conc_floor_01_n,链接至Normal

【风宇冲】Unity3d插件之Shader <wbr>Forge第一讲

编译后是 带法线贴图的Shader,如下
【风宇冲】Unity3d插件之Shader <wbr>Forge第一讲

【添加颜色】

加一个Add节点,一个Color节点,并如下链接。
【风宇冲】Unity3d插件之Shader <wbr>Forge第一讲

至此一个带法线贴图并且可以设置颜色的Shader就创建出来了,怎么样,是不是很简单呢?


http://blog.sina.com.cn/s/blog_471132920102v2i0.html

                       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区域赋予高光。


【风宇冲】Unity3d插件之Shader <wbr>Forge第二讲

http://blog.sina.com.cn/s/blog_471132920102v2i5.html

                       Shader Forge 第三讲:自定义光照模型


本讲分为三个步骤。最后一张图里有节点注释。
【一 最基本的光照模型】
【二 基本漫反射模型】
【三 完整的漫反射+镜面反射Shader】

                                                 详细步骤
首先选择光照模式为Custom
【风宇冲】Unity3d插件之Shader <wbr>Forge第三讲


【一 最基本的光照模型】接收光的强度
【风宇冲】Unity3d插件之Shader <wbr>Forge第三讲
【风宇冲】Unity3d插件之Shader <wbr>Forge第三讲

【二 基本漫反射模型】
【风宇冲】Unity3d插件之Shader <wbr>Forge第三讲
【风宇冲】Unity3d插件之Shader <wbr>Forge第三讲

【三 完整的漫反射+镜面反射Shader】
【风宇冲】Unity3d插件之Shader <wbr>Forge第三讲

【风宇冲】Unity3d插件之Shader <wbr>Forge第三讲

似乎Shader Forge还是有一些没实现的细节,如
1. AlphaTest
2. GrabPass
3. 全屏的PostProcess.
4. Multi Pass,也没有use pass
但是单物体的效果大部分都能实现了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值