如何在着色器图中设置箭头的方向

问题描述

对于着色器图形和着色器,我基本上是新手。我正在一个2D项目中,正在尝试制作一个可旋转箭头的着色器,以制作类似流的材质并将其用于精灵形状。

基本上我想做的是对此做一个正确的版本:

current arrow

我目前正在做的是将位置节点的Y位置乘以暴露的矢量1并在“旋转”节点中使用它(我知道这很hacky,如果形状不是圆弧,则不会起作用。)

shader

解决方法

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


  • 创建一个细分 UV映射的矩形平面
  • 使用顶点着色器弯曲该平面(附加图围绕Z轴弯曲) bend mesh vertices unity shader graph

graph is based on code from Blender source