unity shaderGraph实例-武器特效(纹理遮罩,纹理动画,纹理变形)

发布时间:2024年01月23日

效果展示

请添加图片描述

所需素材

在这里插入图片描述
除了剑的模型外,主要是这五张贴图,其中swordmask和swordmask1中白色的区域是剑身的位置,swordmask1只有剑身的一部分

整体结构

在这里插入图片描述

分支比较多,需要细说

各区域内容

区域1

在这里插入图片描述
提供一个基础纹理,直接连接到片元节点的BaseColor上

区域2

在这里插入图片描述
为剑身提供一个特效图片,并和遮罩纹理相乘来达到遮罩效果,如果此时直接输出到Emission节点,则看起来是这样的
在这里插入图片描述

区域3

区域3中上下两个组中的内容是一样的,只挑上边的说
在这里插入图片描述
图片可以双击放大
从前往后顺着说
先给一个时间节点,然后和一个速度相乘,然后声明一个Vector2,只把时间给到Y值上()这里如果不用Vector2,那么时间节点会同时影响贴图的X轴和Y轴,而我们只希望让贴图延Y轴移动),然后使用TilingAndOffset节点来偏移纹理,此时已经可以看到纹理在移动。然后将偏移后的纹理和一个颜色相乘,这是为了给白色的星星一个别的颜色,然后再和遮罩纹理相乘,就得到了只在剑身上移动的纹理图案。

下方的组和上方的组是一样的,只有时间节点的速度和stars_Color节点不一样,速度不一样是为了制造一快一慢的多层卷轴效果。

最后用Add节点把两个组加起来。

区域4

在这里插入图片描述
分成更详细的区域

区域4-1

提供一个可以缩放的时间

区域4-2

提供一个UV值,Add节点让时间和UV相加,可以偏移UV,这个UV的作用是给噪声纹理提供采样值,然后使用一个噪声纹理,并使用噪声纹理创建法线图,调整NormalFromHeight的Strength的值可以调整高度的强弱。

需要注意的是,这里只是调整的法线图的UV采样,如果将采样结果直接连到纹理上,纹理会起伏变化,但并不会移动。

区域4-3

提供一个Vector2,让纹理的采样结果只在Y轴偏移,然后将Vector和高度纹理混合,需要注意的是,Add节点开起来在向左下移动,是因为法线贴图的变化,而纹理采样本身只受Vector2的影响向下移动

区域4-4

将纹理的偏移结果输出到特效纹理上,然后用更小的遮罩贴图遮罩特效纹理,用更小的遮罩是因为我们希望只有一小部分剑身有这个效果。

区域5

在这里插入图片描述
混合,将第二步中不动的纹理,和移动的多重卷重的星星用Add混合,再和第4步中扭曲的银河用blend混合,用screnn模式可以让每种颜色各占50%

区域6

在这里插入图片描述
提供金属度,平滑度和AO调整属性

后处理

这个项目使用了后处理,这是URP的项目,后处理已经默认集成到了项目里,再使用导入的postprocess包是无效的
需要在相机中开启后处理
在这里插入图片描述
然后新建后处理
在这里插入图片描述

工程下载

工程下载gitee地址

文章来源:https://blog.csdn.net/weixin_44568736/article/details/135758173
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。