Unity给力插件之ShaderForge(一)

这是一个用来制作shader的插件,也是一个很好的学习shader的工具。这个插件上手很容易,但是要用它来制作理想的Shader,需要下点功夫。

这儿先列举出基础知识,以及我的一些实践。以后我还会继续学习并记录更多的内容。

一、基本操作:  

  1)、截断连线:按住alt并右键
  2)、框选:按住alt键并框选
  3)、对于不认识的节点,右键选择what,出现API官网,可选简体字

二、开始设置:  

  1)、新建材质要命名并设置好路径
  2)、考虑shader可能会运行的平台或显卡配置
  3)、渲染路径:向前渲染或延迟渲染,后者能避免重复渲染,提高渲染效率,但不能实现抗锯齿和混合技术
  4)、光照模式:自定义光照等
  5)、镜面反射模式:镜面或金属
  6)、光泽模式:光泽或粗糙
  7)、Geometry->Face Culling:背面切除或正面切除或双面渲染
  8)、Blend Mode:混合模式

三、Main输出端:

  1)、Diffuse Power:漫反射力道,相当耗能
  2)、Metallic:金属质感,值越大时漫反射越小
  3)、Gloss:光泽,值越高光泽度越高,1为极值,物极必反
  4)、Emisson:自发光
  5)、Transmission:透射,决定有多少光线可以透过材质
  6)、Light Wrapping:环绕光,让光线或某个通道的值环绕对象,可做出皮肤的效果
  7)、Diffuse Ambient Light:漫反射环境光,添加光线或环境光或立体贴图,不用自发光或光源,也能显亮
  8)、Specular Ambient Light:镜面反射环境光,可映出环境的贴图???
  9)、Diffuse Ambient Occlusion:漫反射环境光遮罩,抑制间接漫反射光线
  10)、Specular Ambient Occlusion:镜面反射环境光遮罩,抑制间接镜面反射光线
  11)、Custom Lighting:自定义照明,被光照射时,自定义照射效果
  12)、Opacity:不透明度,控制最终像素的透明度
  13)、Opacity Clip:不透明度剪切,根据阿尔法通道剪切不透明区域
  14)、Refraction:反射,用于折射背景像素的屏幕空间 UV 偏移。请确保在使用前将 Opacity(不透明度)设置为低于 1 的值,以便折射效果可见
  15)、Outline Width:描边宽度
  16)、Vertex Offset:顶点偏移,插入每个顶点所需偏移量的 XYZ 坐标
  17)、DX11 Displacement:DX11 位移,此选项和 Vertex Offset(顶点偏移)的作用非常类似,但是与 DX11 曲面细分一起使用。(请注意,DirectX 仅适用于 Windows,需要 DX11 GPU 且必须在 Unity 设置中启用)
  18)、DX11 Tessellation:DX11 曲面细分,此选项控制您要将三角形分割为多少个细分。(请注意,DirectX 仅适用于 Windows,需要 DX11 GPU 且必须在 Unity 设置中启用)

四、部分节点:  

  1)、加减乘除:Add、Subtract、Multiply、Divide
  2)、乘方、平方根、对数:Power、Sqrt、Log
  3)、绝对值:Abs
  4)、Sign:取正负号及0
  5)、Ceil:进位取整,输出时将其输入向上舍入为最近整数
  6)、Round:四舍五入
  7)、Floor:舍位取整,输出时将其输入向下舍入为最近整数
  8)、Trunc:去零取整
  9)、Step:比较,输出0或1,用来区分出每一层的明暗,输出的是黑白纹理
  10)、If:条件
  11)、Frac:取小数部分,此节点在与 Time(时间)节点一起使用时非常有用,会随时间变化带来锯齿波
  12)、Fmod:取模,输出 [A] 除以 [B] 的余数
  13)、Clamp:限定范围
  14)、Lerp:插值,如果 [T] 为两者间的任一值,则将输入两者的线性混合
  15)、Posterize:色调分离,基于经过 [Steps] 的值对值进行四舍五入取整。[Steps] 值为 5 时将在 0 到 1 的范围内创建 5 段
  16)、Blend:混合,有不同的混合方式,用时查看API
  17)、Remap:重映射,将值从一个范围重映射到另一个范围,用来加深或减弱
  18)、Noise:噪音,根据两分量输入(例如 UV 坐标)生成伪随机点
  19)、One Minus:1 减,输出 1 减去其输入。与颜色输入一起使用时,将反转颜色
  20)、Negate:取反,输出其主输入乘以 -1。实质上让正值变负,让负值变正
  21)、Component Mask :分量遮罩,遮罩某个通道
  22)、Channel Blend :通道混合
  23)、Fresnel:菲涅耳,边缘亮显的效果

五、实例:

  1.自定义光照:

 

转载于https://www.cnblogs.com/chimo523/p/5010106.html

Unity给力插件之ShaderForge(二)

直接上实例:

一、自定义光照:

效果图(白色点光源照射时)

图片及参数

节点编辑

备注:

  1.append为追加:两个一维数值合并为一个二维数值,一个二维数值与一个一维数值合并为一个三维数值,以此类推;光照强度为变化的一维数值。

  2.图片的Wrap Mode要改为Clamp,这个地方比较重要。

二、不同通道多图合成:

效果图

节点编辑

备注:模型必须进行过顶点绘制,这样才能根据顶点的颜色区分出不同的通道,从而在指定位置渲染指定的贴图。

三、卡通玻璃球:

效果图

 备注:

  1.卡通效果就是加描边,以及受光的层次呈现

  2.高光处、受光处用到Append,最后是用Add叠加,而不是Multiply

感谢迟谋大神的分享

Unity给力插件之ShaderForge相关推荐

  1. Unity给力插件之MegaFiers

    这是一个关于网格变形的插件.其中有非常多的功能. 这是它的API地址:http://www.west-racing.com/mf/ 花了2天的时间实践并整理了其中绝大多数的功能,只有一些关于特殊格式的 ...

  2. MMD的unity导入插件

    2019独角兽企业重金招聘Python工程师标准>>> 存在一个mmd模型的unity导入插件: 导入了mmd的物理,将模型每个部位通过 custom的joint进行连接,设定物理属 ...

  3. 使用加密锁加密Unity工程插件源码

    使用加密锁加密Unity工程插件源码 最近在unity3D中开发了一款插件,需要卖给客户,但是公司需要隐藏插件的源码,而且保证客户只有指定的电脑才能使用该插件开发!针对这个问题,分为两个步骤:1.隐藏 ...

  4. Unity网页插件Embedded Browser(ZFBrowser)打包文件无法加载本地网页或网站网址解决方法

    Unity网页插件Embedded Browser(ZFBrowser)打包文件无法加载本地网页或网站网址解决方法 问题:最近使用ZFBrowser开发VR嵌入网页发现出现一个问题,在编辑器模式下场景 ...

  5. Unity常见插件汇总

    Unity常见插件汇总 介绍 收集了相关的Unity插件,供大家学习使用,如果用于商业活动,请购买相关版权 插件列表 1. A* Pathfinding Project 一个功能强大并且易于使用的 U ...

  6. Unity 常用插件

    Unity 常用插件 1.NGUI,算是最常用的UI插件了,下载地址:https://download.csdn.net/download/xiaoyaoACi/21028754 2.FingerGe ...

  7. Unity Spine插件使用

    Unity Spine插件使用 Spine是针对游戏开发的2D骨骼动画.Unity本身并不支持播放spine文件需要安装 Unity Spine插件才能支持. Spine插件下载安装 Spine插件可 ...

  8. Unity 编辑器插件-快速删除组件

    尊重原著:(1条消息) Unity 编辑器插件-快速删除组件_unity 删除组件_菜菜ANY的博客-CSDN博客 实现删除所选物体及子物体中指定组件.自动apply 同时考虑一个物体上挂在多个相同组 ...

  9. 雕刻笔应用开发,3D Systems Openhaptics Unity Plugin插件使用心得

    雕刻笔应用开发,3D Systems Openhaptics Unity Plugin插件使用心得 驱动安装: 1.根据设备型号下载对应驱动. https://3dssupport.microsoft ...

  10. Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换

    Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换 *版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插 ...

最新文章

  1. 零起点学算法17——比较2个数大小
  2. Confluence5.1 最新版的安装破解汉化
  3. 才一年,智能车就不再是新势力专利!
  4. 基于C语言STC89C52单片机电子密码锁的设计与仿真
  5. 上下布局:上部分高度自己撑起,下部分高度占满剩下的全部
  6. Chaincode for Operators(运营商的链码手册)
  7. 使用Axis2来构建Web Service客户端
  8. phpcms v9输出内容过滤html代码 - 代码篇
  9. 英语发音表及读法_用英语给孩子讲绘本:果酱英语的Good Morning
  10. Spring源码之bean的实例化createBeanInstance方法解读
  11. 游戏美术-魔兽世界查看器的正确使用方法
  12. SSH和SSM对比(学完后的总结)
  13. txt转mobi格式
  14. 步步惊心,Zookeeper集群运维“避坑”指南
  15. 聊天室——MYSQL建表
  16. 浏览器主页被劫持篡改为hao123或者别的网页解决方法
  17. torch代码解析 为什么要使用optimizer.zero_grad()
  18. emui 4.1 基于android 6.0,【荣耀V8评测】基于Android 6.0的EMUI 4.1_荣耀 V8_手机评测-中关村在线...
  19. 早早起来真的可以做许多事,比如再睡一觉
  20. 银行金融计算机考试成绩查询系统,速看!人民银行成绩出了!戳进查分数+看排名!...

热门文章

  1. HTML颜色表及html代码
  2. apk反编译教程+工具
  3. 有关威纶通weinview触摸屏HMI 定时器的那些事
  4. 笛卡尔积生成商品SKU
  5. echarts实现中国地图区域分布图 vue + echarts
  6. 深入浅出 HTTP协议
  7. HTTPS请求过程图解
  8. cameralink解码编码FPGA代码定制
  9. 螺母_常用硬件的种类以及选用_day15
  10. html 页面的分析与设计,HTML+CSS网页设计教程