您的位置:首页 > 移动开发 > Unity3D

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

2015-01-02 19:49 337 查看
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





【第二步 创建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就创建出来了,怎么样,是不是很简单呢?

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





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

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

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

【一 最基本的光照模型】

【二 基本漫反射模型】

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

详细步骤

首先选择光照模式为Custom





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









【二 基本漫反射模型】









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









似乎Shader Forge还是有一些没实现的细节,如
1. AlphaTest
2. GrabPass
3. 全屏的PostProcess.
4. Multi Pass,也没有use pass
但是单物体的效果大部分都能实现了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐