Shader Graph制作2D Sprite描边

1、制作原理

主要是参考GUI的Text的描边原理。实际上就是复制四个纹理在上下左右方向各平移N个像素

2、制作流程

因为不需要光照效果,所以使用Unlit Master节点输出。整体结构如下:

设置了3个参数,分别控制图片纹理,描边颜色,描边宽度。我没有像GUI那样用X,Y控制描边,而是使用宽度统一调整,如果需要可自行添加。

图中左边部分主要控制纹理的UV坐标分别上下左右位移。如下图所示:

LineWidth本身和取反作为四个参数,分别填入四个Vector2的x和y,再使用Tiling And Offset节点进行位移。分别得到四个位移过的纹理。然后对获取到的纹理的A通道互相相加获得一个扩大边缘的纹理,这里注意要使用Clamp节点将获取到的A通道值先知道0-1的范围内。最后减去原纹理的A通道就获得了描边纹理。再将纹理描边和color相乘,就可以获得颜色的描边。

3、注意事项

  1. 要将扩大纹理反色连接到,使用原纹理会使描边被截掉。
  2. 没有透明区域的纹理不会显示描边,超过图形范围会被截掉。
  3. 有些棱角的图形,显示不完美。

 

由于本人也是刚开始使用Shader Graph,写这些只是为了能让自己更加巩固Shader Graph的用法,所以有些地方可能会出错,如果你有更好的方法或者我有什么错误,请帮忙指正,万分感谢。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!要在Shader Graph中实现物体描边效果,可以尝试以下步骤: 1. 创建一个新的Shader Graph。 2. 添加一个Unlit Master节点作为主节点。 3. 添加一个Sprite节点,并将其连接到Unlit Master节点的Albedo输入。 4. 在Shader Graph中创建一个新的Sub Graph。 5. 在Sub Graph中创建一个Custom Function节点,命名为"Outline"。 6. 将Custom Function节点连接到Sub Graph的输出节点。 7. 在Custom Function节点中,添加一个Input节点,命名为"Alpha",用于控制描边的强度。 8. 添加一个Sample Texture 2D节点,用于采样纹理。 9. 将Sample Texture 2D节点的输出连接到Custom Function节点的输出。 10. 添加一个Sample Gradient节点,用于采样渐变纹理。 11. 将Sample Gradient节点的输出连接到Custom Function节点的输出。 12. 在Custom Function节点中,使用Alpha输入和采样的纹理和渐变纹理来计算描边效果。 13. 返回到主Shader Graph,将Sub Graph节点连接到Unlit Master节点的Alpha输入。 14. 在主Shader Graph中创建一个Multiply节点,并将其连接到Sub Graph节点的输出。 15. 将Multiply节点的另一个输入连接到Unlit Master节点的Alpha输入。 16. 将Multiply节点的输出连接到Unlit Master节点的Alpha输入。 这样,你就可以在Shader Graph中实现物体描边效果。你可以根据需要调整描边的强度和样式,例如修改渐变纹理或自定义描边的计算方式。希望对你有帮助!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值