【问题标题】:How to set direction of arrows in shadergraph如何在着色图中设置箭头的方向
【发布时间】:2020-11-30 16:42:34
【问题描述】:

总的来说,我对着色器图和着色器还很陌生。我正在做一个 2D 项目,我正在尝试制作一个着色器,它可以旋转箭头以制作类似流动的材质并将其用于精灵形状。

基本上我想做的是制作一个合适的版本:

我目前正在做的是将位置节点的 Y 位置乘以一个暴露的向量 1 并在 Rotate 节点中使用它(我知道这很老套,如果形状不是弧线,它将不起作用。)

【问题讨论】:

  • 不是所有可以着色器的东西都应该是着色器。你是不是在 Blender uv 编辑器中无法在 5 分钟内修复这些箭头?
  • 我是在精灵形状上做的,所以我希望有一种更动态的方法来做,而不是对每个形状都使用搅拌器。
  • 有一个更好的方法:使用正确投影的纹理/箭头创建一个直细分矩形(精灵或网格,等等),然后使用着色器图弯曲网格顶点(在对象空间中)而不是 uv(!)。问题解决了
  • 感谢您的帮助。我实际上查找了弯曲网格顶点,但我能找到的所有着色器教程都是关于网格变形的,我应该寻找变形吗?

标签: unity3d 2d sprite shader-graph


【解决方案1】:

将 UV 与任意网格对齐似乎有点困难。为什么不弯曲预制网呢?下图在给定点和强度处围绕 Z 轴弯曲顶点位置(0 使网格不可见),但是,您可以轻松地将 Position 节点替换为 UV 并将结果插入 Sample Texture 2D。我只是猜想弯曲网格会给你更好/更容易的结果。


  • 创建一个细分UV映射良好的矩形平面
  • 使用顶点着色器弯曲该平面(附图围绕 Z 轴弯曲)

graph is based on code from Blender source

【讨论】:

  • 非常感谢,我想我应该弯曲网格,这似乎是最好的方法。顺便说一句,这是来自 HDRP 着色图的图片吗?
  • 取自 URP,unity 2020.1,Hybrid renderer v2。但差异并没有那么大,基本面在任何地方都保持不变
猜你喜欢
  • 1970-01-01
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-18
  • 2011-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多