如何使用 Unity Shader Graph 遮罩纹理

问题描述 投票:0回答:2

因此,我试图实现的最终效果可以在这个教程视频(统一着色器实验室)中找到,我的案例我想达到这个结果:

到目前为止,我创建了这些属性:

结果是这样的(不知道为什么“平铺”有 4 个字段,即使它是一个 Vector2):

之后,我添加了 2 个新属性:

一个 tiline 和 Offset 节点,其偏移量由 Position 属性控制,将其插入到 Sample Texture,并将输出与 Emission 纹理输出相乘,并将结果插入到 PBR 节点的 Emission 输入:

结果是这样的:

它有点给了我我想要的东西,但它还远未完成,我不明白的是:

  1. 如何调整遮罩区域的大小?因为现在如果我更改平铺,那么结果就太错误了:

  1. 我的“定位”逻辑正确吗?最终我希望使用基于游戏对象位置的 C# 脚本来控制 Position 属性,正如您在我的主要预览示例中看到的那样,我基本上希望网格在特定对象下发光,所以我这样做对吗?

提前非常感谢!我真的希望着色器图社区开始变得更大,因为即使是最基本的事情也很难找到答案。

祝你有美好的一天!

unity-game-engine graph shader mask
2个回答
0
投票

尝试将纹理的环绕模式设置为夹紧,而不是在导入设置中重复。


0
投票

@user40079 没有错,他/她只是没有告诉你哪个纹理需要被夹紧。 我认为需要夹紧蒙版纹理才能达到您想要的效果。

这是我的图表。

© www.soinside.com 2019 - 2024. All rights reserved.