用途
PrimeTween 是 Unity 的高性能补间(tweening)库,具有零分配和出色性能。本技能整理了常见的使用模式,用于 UI 动画、游戏效果和动画序列编排。
适用场景包括:UI 动画(淡入淡出、缩放、移动)、游戏动画(伤害数字、拾取物)、相机效果、数值插值、复杂动画序列。
主要能力
基础补间
Transform 补间支持位置、缩放、旋转和震动。例如使用 Tween.Position(transform, target, duration) 移动对象,使用 Tween.Scale 配合 Ease.OutQuad、Ease.OutElastic 等缓动实现缩放弹跳,使用 Tween.Rotation(...).SetRelative() 实现相对旋转,使用 Tween.ShakeLocalPosition 实现位置震动。
UI 补间
通过 CanvasGroup 和 RectTransform 实现淡入淡出、滑入、弹出等效果。例如 Tween.Alpha(_canvasGroup, 1f, duration, Ease.OutQuad) 淡入,Tween.UIAnchoredPosition 滑入,Tween.Scale 配合 Ease.OutBack 实现弹出。
颜色补间
支持 SpriteRenderer 和 Image 的颜色闪烁与透明度渐变,例如 Tween.Color 配合 Chain 实现闪烁后恢复原色,Tween.Alpha 实现精灵或图片淡出。
序列
使用 Sequence.Create() 编排动画。Chain 按顺序执行,Group 并行执行,ChainDelay 插入延迟,Insert 在指定时间点插入动画。支持循环序列,Sequence.Create(cycles: -1) 表示无限循环。
数值补间
使用 Tween.Custom 对自定义数值、Vector3 等进行插值,可传入 onUpdate 回调,适用于血条、进度值等。
回调
支持 OnStart、OnUpdate、OnComplete 回调,也支持 async/await 等待补间完成,以及配合 CancellationToken 处理取消。
使用方式
代码中通过 using PrimeTween; 引入命名空间,然后调用 Tween 和 Sequence 的静态方法创建动画。补间对象可链式调用 Chain、Group、Insert、OnStart、OnUpdate、OnComplete、SetRelative 等方法。
常见模式
- 伤害数字动画:弹出缩放、上浮、末尾淡出,完成后禁用对象。
- 按钮按压动画:按下缩小、抬起回弹、点击时先放大再回弹。
- 屏幕震动:使用
Tween.ShakeLocalPosition,支持单次冲击和持续震动,完成后恢复原始位置。 - 拾取收集动画:先弹跳,再飞向目标并缩小,完成后销毁对象。
性能建议
- 创建新补间前先停止旧补间,避免重叠。
- 缓存补间引用以便停止。
- 复杂动画使用序列。
- 根据运动类型选择合适的缓动。
- 在
OnDisable中停止进行中的补间。 - 顺序逻辑使用 async/await。
- 将相关动画批量放入序列。
- 关注补间数量,保持合理上限。
- 并行动画使用
Group。 - 在时间缩放变化下进行测试。
限制与排查
资料中提供的排查表包括:补间不播放时检查对象是否激活;动画重叠时先停止前一个补间;内存问题时减少同时存在的补间;位置异常时检查相对与绝对模式;序列未完成时验证所有补间是否有效;回调未触发时检查补间是否被停止。
关于该库的安装方式、版本要求、收费模式、支持平台等具体信息,资料中暂未提供。