关于shader graph 学习

学习目标:

shader graph 常用模板学习

学习内容:

1、模型拆解
2、模型溶解
3、高亮
4、全息效果

模型裁切:

关键点:主要节点、Position、AlphaClip
在这里插入图片描述

引用于https://blog.csdn.net/linxinfa/article/details/108049048这篇干活满满的野生大神博客,强推!

一些参数说明

英文名称中文名称说明
Position位置网格顶点或片段(mesh vertex or fragment)的位置信息
Split拆分将N维数组拆分成N个一维数组。与Combine是反操作
Sample Texture 2D2D贴图采样2D贴图采样。通过这个节点配合UV坐标和Sampler State获取贴图中的RGBA数据
Step取数(Step)In>=Edge,In=1;In<Edge,In=0

个人理解的流程图(可能有误,请指正)
首先取坐标值,然后利用split拆分出坐标值R(X)G(Y)B(Z)A(W?不太确定),然后根据输入的Edge坐标值,算出显示的画面。
举个例子:
若连线从R口输出,那么此效果会变为延X轴左右(不太严谨,但大概是这个意思)裁切。
若此shader生成material,放入模型,Edge完全显示的最大值为当前模型在Unity中的最大值。
在这里Edge最大值为5而非1
进阶:在裁剪的基础上添加裁剪边缘光

引用于https://blog.csdn.net/linxinfa/article/details/108049048这篇干活满满的野生大神博客,强推!

英文名称中文名称说明
Remap重映射Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
One Minus减1返回输入值-1
Smoothstep平滑插值插值在开始时加快,在结束时减缓。如果输入In的值分别在输入Edge1和Edge2的值之间,则返回0和1之间的平滑Hermite插值的结果。如果输入In的值小于输入Step1的值,则返回0;如果大于输入Step2的值,则返回1
Add相加相加
Multiply相乘相乘

个人理解的流程图(可能有误,请指正)
在完成裁剪效果基础上,只需要在裁剪位置发光就行。那么只需要和step步骤类似,加入Smoothstep步骤即可!
其中Remap和OneMinus其实可以不用,一样能达到类似效果(主要是没理解Remap放这里的含义)。

模型溶解:

待续,以后补充

高亮:

待续,以后补充

全息效果:理论目标效果

引用于https://blog.csdn.net/linxinfa/article/details/108049048这篇干活满满的野生大神博客,强推!

关于其中问题:
1.有些模型只是闪烁,没有扫描的感觉。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值