NGUI的流光shader解决方案(一)(支持UITexture和使用图集的UISprite)

本文介绍了一种支持UITexture和使用图集的UISprite的流光Shader解决方案,详细阐述了如何编写Shader并应用到UITexture,同时讨论了NGUI的onRender机制及其对流光效果的影响,以及方案的优缺点。
摘要由CSDN通过智能技术生成

前言

之前的Unity项目中,UI部分需要的流光比较多,特别是一些使用图集的UISprite,为节省图片资源,必然是使用shader来实现。
搜了很多前人的分享,发现一些有意思的解决思路,但并没有很完善的分享,而且我们的需求还包括自定义流光图、流光间隔、流光时间等。所以自己做了一套,这里正好整理分享一下。

本方案最终实现的流光效果如下:
上面是UITexture,下面是使用图集的UISprite

此流光效果,有以下优点:
- 支持UITexture
- 支持使用图集的UISprite,且每个UISprite可以独立效果
- 可以自定义流光的图、流光速度、流光时间间隔、流光强度等

不过,也有以下缺点或者说是待完善的地方:
- 应用于UISprite时,图片的清晰度会受到影响,变得模糊一点
- 原理是通过独立的材质球来做,所以会增加NGUI的drawcall数量

实现UITexture的流光

先写shader

先看看我们的UITexture图片和流光图片:
这里写图片描述</

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值