一种简单的触发Dotween动画的方式

导语

偶然想实现一下鼠标悬浮在控件上时控件放大的效果,类似于守望先锋的主菜单UI,但不想使用Unity原生的Animation(性能消耗过大)。于是使用Dotwwen插值动画来做这个效果。

步骤一 动画

组件上挂载一个DotweenAnimation,做一个scale到1.3的效果,记得把autokill和autoplay取消
一种简单的触发Dotween动画的方式

步骤二 触发

给组件添加一个EventTrigger, 或者自己写一个脚本继承EventTrigger,我使用了前者。在EventTrigger的鼠标移入和移出事件中分别调用DotweenAnimation的正向和反向播放动画:DoPlayForward() 和DoPlayBackWards()
一种简单的触发Dotween动画的方式

完成

一种简单的触发Dotween动画的方式

简单布置一个UI测试这个功能
运行时(没有截图到鼠标)
一种简单的触发Dotween动画的方式
就这样实现了一个手感极佳的UI,鼠标滑过控件的时候字体放大,移出的时候缩回,后续可以加上更多的效果。注意,整个过程没有写一行代码,都是在Editor界面完成的,可以说是相当简单的方法。

性能

在profile界面查看这个小ui的性能
一种简单的触发Dotween动画的方式
可以看到,耗时几乎忽略不计的同时0做到了GC(归功于dotween的强大)