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
但是单物体的效果大部分都能实现了。
原创文章如需转载请注明:转载自风宇冲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
但是单物体的效果大部分都能实现了。
相关文章推荐
- unity3d插件Daikon Forge GUI 中文教程2-基础控件Label的使用
- unity3d插件Daikon Forge GUI 中文教程-2-基础控件Label的使用
- unity3d插件Daikon Forge GUI 中文教程3-基础控件Button和Sprite的使用
- unity3d插件Daikon Forge GUI 中文教程-3-基础控件Button和Sprite的使用
- unity3d插件Daikon Forge GUI 中文教程4-高级控件Checkbox和dropdownlis的使用
- Unity3d Shader 代码高亮插件
- unity3d插件Daikon Forge GUI 中文教程5-高级控件listbox和progress bar的使用
- unity3d插件Daikon Forge GUI 中文教程-4-基础控件Checkbox和dropdownlis的使用
- unity3d插件Daikon Forge GUI 中文教程-5-高级控件listbox和progress bar的使用
- unity3d插件Daikon Forge GUI 中文教程-5-高级控件listbox和progress bar的使用
- unity3d插件Daikon Forge GUI 中文教程-7-高级控件slider的使用
- unity3d插件Daikon Forge GUI 中文教程6-高级控件richtextlabel的使用
- unity3d插件Daikon Forge GUI 中文教程7-高级控件slider的使用
- unity3d插件Daikon Forge GUI 中文教程-3-基础控件Button和Sprite的使用
- unity3d插件Daikon Forge GUI 中文教程-6-高级控件richtextlabel的使用
- Unity3D研究院之自制批量修改Shader插件(五十七)
- unity3d插件Daikon Forge GUI 中文教程-1-Daikon Forge介绍
- unity3d插件Daikon Forge GUI 中文教程1-Daikon Forge介绍
- unity3d插件Daikon Forge GUI 中文教程-1-Daikon Forge介绍
- 【Unity3D插件】在Unity中读写文件数据:LitJSON快速教程