Shader Graph Example Library 案例(二)

原版官方下载地址: 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的案例,可以适用于模型的简单换肤。
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Unity ShaderGraph是Unity引擎中的一个可视化着色器编辑器,它允许开发者通过连接节点来创建自定义的着色器效果。而2D图片飘动效果可以通过ShaderGraph来实现。 要实现2D图片的飘动效果,可以按照以下步骤进行: 1. 创建一个新的ShaderGraph材质:在Unity编辑器中,右键点击Assets面板,选择Create -> Shader -> PBR Graph,然后将其命名为"FloatingEffect"(或者你喜欢的其他名称)。 2. 打开ShaderGraph编辑器:双击刚刚创建的ShaderGraph材质,进入ShaderGraph编辑器界面。 3. 添加节点:在ShaderGraph编辑器的左侧面板中,可以找到各种节点。为了实现图片的飘动效果,你可以添加以下节点: - Texture 2D:用于加载你想要飘动的图片。 - Time:用于获取时间信息,以便实现动态效果。 - Sample Texture 2D:用于从纹理中采样颜色。 - Panner:用于控制纹理的平移。 4. 连接节点:将节点连接起来以实现所需的效果。具体来说,你可以将Time节点的输出连接到Panner节点的Time输入,将Texture 2D节点的输出连接到Sample Texture 2D节点的Texture输入,然后将Sample Texture 2D节点的输出连接到Panner节点的UV输入。 5. 调整参数:根据你的需求,可以调整Panner节点的Speed参数来控制飘动的速度,也可以调整Sample Texture 2D节点的UV Scale参数来控制纹理的缩放。 6. 输出结果:将Panner节点的输出连接到Master节点的Albedo输入,然后将Master节点的输出连接到ShaderGraph材质的输出。 完成上述步骤后,你就可以将这个ShaderGraph材质应用到你的2D图片上,从而实现图片的飘动效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朗迹 - 张伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值