白泽图

  • 文章
    • Unity渲染
    • Unity项目开发
    • 工具
    • 数学
    • 算法
    • 网站搭建
    • 网络&操作系统
蒋程个人博客
互联网技术经验总结&分享
  1. 首页
  2. Unity渲染
  3. 正文

URP使用后期实现NGUI的卡牌溶解效果

2021-07-02 1771点热度 0人点赞 0条评论

前段时间在项目中实现了NGUI拼的卡牌溶解效果,需求比较简单,就是拖卡上阵的时候在变成模型前需要有个卡牌溶解的过渡效果(我们是一个3D卡牌MMO项目)

刚收到需求时也没有觉得很复杂,毕竟溶解效果实现原理就是一张溶解图discard的事,唯一麻烦的点就是用户操作的卡牌并不是一张Texture,而是NGUI用一堆UISprite拼出来的GameObject,当然如果扩展UIPanel,替换里面的所有 UIDrawCall材质,通用坐标换算相对溶解图的位置,再处理图像也不是不可以,不过实现起来相对麻烦一点,自从上次使用后期制作UI界面的过渡动画后,个人觉得使用后期做NGUI的后期效果会更简单一些。

实现原理如下:

1.播放时实时获得一张有卡牌的截屏RT

2.播放时实时获得一张无卡牌的截图RT

3.播放时实时计算卡牌在截图RT的UV坐标

4.两张RT在卡牌所占像素的位置通过溶解图做lerp处理

5.将处理的结果返回最终颜色缓冲

相关代码被我总结成一个Demo,具体表现效果如下

这里的溶解图是使用边缘检测算法生成的一张动态图,目前是为了实现先溶解背景(项目需求),我们可以根据自己美术的需求,通过改变溶解图,实现各类溶解效果

Demo地址:https://github.com/bzetu/URP_UIDissolve

标签: 暂无
最后更新:2021-07-04

蒋程

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2023 白泽图. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

登录
注册|忘记密码?