Shader Forge教程二版

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


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

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


【第三步 设置贴图】

点击Select选择贴图sf_conc_floor_01_d

【第四步 桥接输出】

拖拽RGB至Diffuse


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


第二部分:加入法线贴图

【法线贴图】

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




编译后是 带法线贴图的Shader,如下

【添加颜色】

加一个Add节点,一个Color节点,并如下链接。

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


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

本讲分为三个步骤。最后一张图里有节点注释。

【一 最基本的光照模型】

【二 基本漫反射模型】

【三 完整的漫反射+镜面反射Shader】

                                                 详细步骤

首先选择光照模式为Custom


【一 最基本的光照模型】接收光的强度





【二 基本漫反射模型】


【三 完整的漫反射+镜面反射Shader】



似乎Shader Forge还是有一些没实现的细节,如

1. AlphaTest

2. GrabPass

3. 全屏的PostProcess.

4. Multi Pass,也没有use pass

但是单物体的效果大部分都能实现了。



053527sgzc65dk0f6ks75h.jpg(280.36 KB, 下载次数: 7)

下载附件

2015-12-31 10:17 上传











053527sgzc65dk0f6ks75h.jpg(280.36 KB, 下载次数: 7)

下载附件

2015-12-31 10:17 上传










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值