【问题标题】:How to mask a texture with Unity Shader Graph如何使用 Unity Shader Graph 遮罩纹理
【发布时间】:2018-12-02 22:38:33
【问题描述】:

所以我试图达到的最终效果可以在这个tutorial video(统一着色器实验室)中找到,我的情况是我想达到这个结果:

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

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

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

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

结果是这样的:

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

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

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

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

祝你有美好的一天!

【问题讨论】:

    标签: unity3d graph shader mask


    【解决方案1】:

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

    【讨论】:

    • 不是真的,这也会产生新问题并弄乱纹理的定位
    【解决方案2】:

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

    这是我的图表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      • 2020-09-02
      相关资源
      最近更新 更多