ui动效 unity_Unity中实现仿主机游戏的UI动画效果

本文探讨了UI动画在游戏中的重要性,尤其是主机游戏级别的效果。作者指出,虽然早期欧美游戏不重视UI动画,但现在已成为优秀游戏的标准。Unity中使用Animator而非DoTween实现UI动画更为方便,可以创建复用的通用动画。文章介绍了如何设计通用模板和处理列表项动画,强调动画不仅可以提升美观,还能掩饰加载延迟并提供功能性提示。最后,作者提到国内UI设计师在UI动画方面的知识缺口,建议引入专业人才优化流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在UI动画上花费精力,最早是日本的游戏喜欢搞,欧美的游戏都非常不重视(比如暗黑2),其实我也不懂为何日本游戏这么重视这种东西,因为早期做这种东西还挺麻烦的,大概是他们对于小而美的追求吧……总之,后来的欧美游戏把日本游戏的优点全部学了去,铸就了现在的霸主地位。

而这个问题的答案也很简单:设备能跑,为什么不做?为什么其他部分需要动画UI就不需要,难道UI就不算美术的一部分了?

要说我,国内极端不重视UI动画,大概也是受了暗黑等一系列早期欧美游戏的影响。

虽然肯定会有人说自己就是不喜欢UI动画,因为浪费时间,但游戏里什么元素不浪费时间呢?而且苹果的成功,也证实了一般人在娱乐产品里其实是更倾向于有UI动画存在的。

所以我标题上虽然写了主机游戏,指的其实是这种理所应当该有的UI动画,用这个词是方便大家理解,毕竟现在只要是个优秀游戏它的UI动画都是做得很不错的,不管在哪个平台。

这本来就是该做的事。

更何况,实现上,也并不困难。

使用Animator而非DoTween

你我都清楚现在游戏里仅有的UI动画是怎么做的。

但是代码实现的动画其实是很不方便的,它只适用于简单的动画,而且会导致这个工作和技术人员绑定。代替方案也简单,就是Animator。

Animator其实创建动画的操作也不复杂,Ctrl+6打开动画面板然后直接创建就好了,生成的文件可以以后再改名。点击录制然后随便K了就行了,默认的曲线设置大部分情况就够用。

而且生成的动画只要保证每条属性的命名不变,可以在其他地方直接复用,像普通的缩放位移就可以做成通用的,倒时候把脚本复制一下就行。

Animator包含一个动画状态机,本身可以实现非常复杂的功能。不过大多数情况也用不上。我这为了减少工作量,就约定了两个动画名"ShowAnim""HideAnim",然后在游戏的主要UI容器类上提供了SetActive(bl)方法,创建或者显示的时候播放容器下所有Animator的ShowAnim动画,关闭和隐藏的时候要求调用SetActive(false),这时候就会先播放所有Animator的HideAnim然后在播放完后隐藏界面,第一次SetActive(true)则是自动的,对技术人员而言也算隐藏的比较好。

由于界面可能分层,那Animator就可能在各层都存在一个实例。获取容器下所有Animator就能同时启动所有动画(一般主动播放的都是隐藏动画),大部分情况也可以兼容,就不用一个一个处理不同情况的动画分支了。子界面之间的切换和父级界面之间的切换都可以用同一个动画,处于不同状态的界面也都可以正常退出。

大部分情况,HideAnim就是Sho

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值