当前位置:   article > 正文

Shader Graph Example Library 案例(二)_shader graph的smoothness

shader graph的smoothness

原版官方下载地址: https://github.com/UnityTechnologies/ShaderGraph_ExampleLibrary
PBR相关内容 《PBR_Guide_PBR详解_中文版.pdf》:
https://download.csdn.net/download/qq_17523181/11647230

ExampleScene-Player 三维应用

在这里插入图片描述

对Sharder Graph的整体理解:

Sharder Graph千变万花,当了解了它的基础后,难度不再是看懂节点,而是去理解效果。
简单说,不能按节点的分类来学习,需要把效果进行归纳,来分类学习,比较容易产生实际作用。
一个PBR节点,当贴上各类贴图后,已经有了他本该的样子。
接着,我们可以加上Sharder对贴图进行色彩的变化,
然后,贴图是可以通过Sharder来运动起来的,
还有,贴图可以被透明化,产生溶解等效果。
所以,按照这个思路,我把效果分为:

  • 颜色变化
  • 贴图运动
  • 透明化

一、颜色变化

1. Player - Color Rim


  • 效果显示
    在这里插入图片描述
  • Shader Graph
    在这里插入图片描述
  • 节点说明:

【PBR】基于物理渲染
【Fresnel Effect】菲涅耳效应

  • 整体说明:
    让一个模型上,增加一个菲涅耳光效。
    这里【Multiply】与【Add】互换位置,也是一样的效果。
    菲涅耳效果简单可认为,会让物体边缘发生光的现象

PBR简单说明

  • Albedo : 反射率贴图,基本色
  • Normal:法线贴图
  • Emission : 自发光
  • Metallic : 金属贴图
  • Smoothness :光滑度
  • Occlusion : 遮挡
  • Alpha : 透明度
  • AlphaClipThreshold : 透明度阈值

– 【Fresnel Effect】在【Vector】矢量的节点中,此节点包括:

【Vector】矢量:
【Cross Product】交叉积
【Distance】距离
【Dot Product】点积
【Fresnel Effect】菲涅耳效应
【Projection】投影
【Reflection】反射
【Rejection】拒收
【Rotate About Axis】绕轴旋转
【Sphere Mask】球罩
【Transform】变换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. Player - Color Gradient


  • 效果显示
    在这里插入图片描述

  • Shader Graph 在这里插入图片描述

  • 节点说明:

【Position】Position节点提供四种空间:对象坐标,视图坐标,世界坐标和切线坐标,坐标输出的是XYZ的向量值。(似有3个方向的光照射球体形成的黑白效果)

  • 整体说明:
  1. 【Position】提供了3个方向的向量值。把【Split】后的G值直接与【Lerp】节点相连,发现是相对均匀点的颜色变化。
    在这里插入图片描述
  2. 【Multiply】乘3后,中线更加清晰起来;在通过【Add】让中线下移一点
  3. 另外,若改变【Position】的坐标类型,发现颜色各有不同。其中,选择Tangent,再调整下2个颜色,调个有质感白模的感觉。
    在这里插入图片描述

3. Player - Snow


  • 效果显示
    在这里插入图片描述
  • Shader Graph (关键部分)
    在这里插入图片描述
  • 节点说明

【Normal Vector】法向量坐标,(犹如一个被光照下的地球);

【Dot Product】点积节点,点积如果节点指向完全相同的方向,则返回1;如果指向完全相反的方向,则返回-1;如果向量垂直,则返回0。

  • 整体说明:
  1. 不管模型怎么动,雪都是盖在垂直方向。
    – 【Normal】选择World,然后通过【Dot Product】设置成(0,1,0),来把方向确定在Y轴向上方向。这个部分直接输出(和菲尼尔效果),也可以看到一层带渐变的白色,覆盖在模型上面的效果了。
    在这里插入图片描述
  2. 雪的形成。
    – 要加强雪的效果,需要边界更分明一点,通过【Step】来分界,设置值0.1,大于0.1的都为1,以下为0,划出一条界限;然后乘以一个颜色(这步不要也是白色的);和【Fresnel】来的节点相乘,就是把黑的去掉了。最后加在模型上。
  3. 能用【Position】节点吗?
    – 前面用到【Position】节点,但是用它测试后不行;若用世界坐标,则雪会从头盖到脚,就剩一个脚是没有雪。其他的模式都不行。

4. Player - Toon Ramp


  • 效果显示
    在这里插入图片描述
  • Shader Graph (关键部分)
    在这里插入图片描述
  • 整体说明:
  1. 这里的卡通效果是个啥?
    – 其实是把一个边界比较明显阴影画在模型上,使得消除一些立体感,整体卡通效果比较普通。
  2. 如何实现?
    – 使用【Normal】和【Dot】结合,先产生一个倾斜的法向量。
    – 可以从【Remap】看出,这个法向量是[-1, 1]的,变化成[0,1]
    – 把这个向量作为UV,提供给黑白间隔的贴图,达到调整UV方向的问题
  3. 既然至少调整UV方向,那用【Rotate】能实现吗?
    – 调整【Rotate】在调整其他一些位置也可能实现类似的效果,但是【Normal】在黑白间隔力更好,用【Rotate】只是旋转,不能起到调整间隔的大小的作用等问题
    在这里插入图片描述

阶段说明


在项目中,ShaderGraph的效果往往是一个个部分组合而成,这里再把其他的案例抽出和模型“上色”有关系的部分,加以归类分析;
为此,另建立一个工程,把一些Sharder Graph独立出来分析。
在这里插入图片描述
对应名称:
在这里插入图片描述

5. Player - Scrolling Texture Overlay


  • 对应名称:Color-Texture
  • 效果显示:
    在这里插入图片描述
  • Shader Graph (相关部分)
    在这里插入图片描述
  • 整体说明:
    这个是简单切换2个Texture的案例,可以适用于模型的简单换肤。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/107877
推荐阅读
相关标签
  

闽ICP备14008679号