、落地时压扁再回弹;同时切换到下一等级的颜色,闪一下光,冒一圈粒子,标更新。
3. 蓄力(约 1 秒):主体越抖越剧烈,缝隙透出光,四周粒子往中心吸,音效音调持续上升;最后一刻猛地压扁。
4. 爆发:从爆点向外扩散的泛光闪白、屏幕震动、镜头往前一推、多层冲击波、细长流光迸射、闪光星点、金币和宝石(带旋转)。高等级的爆发要明显更强。彩带只在最高潮用一次,不要满屏彩带。
5. 揭晓与结算:
- 奖励卡片从主体里沿弧线飞出,落位时带超调和晃动收尾,数字滚动计数。
- 稀有物品带彩虹流光边框和「NEW!」角标。
- 点击领取后,金币和宝石沿贝塞尔曲线飞进右上角的余额,每到一个余额就跳一下。
【揭晓舞台:让主角独占画面】
- 最高稀有度揭晓时,其他元素收起或淡出,背后换成一层干净的渐变幕布加缓慢旋转的柔光,不要让主角压在杂乱的背景上。
- 幕布出现时,把场景里的其他 3D 物件隐藏掉,否则后期描边会把它们的轮廓线画在幕布上。
- 主角的外发光要放在主体背后,只从边缘溢出,不能盖在主体前面把它糊成一片白。
- 可以加一圈围绕主角盘旋的星尘拖尾,但轨道必须完整在主角轮廓外侧,不能从主体正面扫过。
【光效:必须柔和,不能有硬边】
- 背景光芒:用带渐变过渡的 conic-gradient,不要一刀切的色块边缘;叠 2~3 层不同密度、不同转速的光。
- 光柱:由 5~7 道带模糊的光束呈扇形散开,亮度各自轻微闪动;根部加一团柔光核心,光里有光尘缓慢上飘。
- 闪白:从爆点向外的径向泛光(mix-blend-mode: screen),强度不超过 0.8,不要整屏纯白过曝。
- 粒子:每个火花都带一圈低透明度的外晕;冲击波用三层描边(宽而淡、中等、细而亮)。
【材质与界面】
- 边框、名牌、按钮要有材质感:金属拉丝渐变、左上亮右下暗的倒角光、内阴影;按稀有度换镶嵌件(钢铆钉 → 银框宝石 → 金框钻石加小王冠)。
- 小卡片上不要塞小字数值;详细数值放到揭晓时的信息面板里,面板里的数字滚动上涨,并弹出「▲+数值」。
- 画在 Canvas 上的贴图,分辨率至少是屏幕上最大显示尺寸的 1.5 倍,否则放大时会发虚。
【动画原则】
- 用 GSAP 时间线编排。所有动作都要有挤压拉伸、超调和弹性回弹,不要匀速。
- 粒子系统用 Canvas 2D 自己写:重力、阻力、生命周期、叠加混合,以及「吸入」「曲线飞行」「环绕」三种运动。
- 不要用 CSS 3D 透视去翻转大尺寸元素,放大加侧翻时会被投影成铺满屏幕的平面,3D 翻转一律放在 WebGL 里做。
- 所有「抖动」「呼吸」类的循环补间,在状态切换时要先取消再归零,避免它比停止指令晚一帧结束,又把值设回去。
【音效】
- 全部用 Web Audio 实时合成,不用音频文件:跳起、落地、升级和弦、蓄力上升音、爆炸低频加噪声、弹出音、计数滴答、金币叮当、胜利号角。
- 第一次点击时才初始化音频;右上角放静音开关。
【界面与工程】
- 顶部 HUD:模式切换、金币和宝石余额、静音按钮。
- 手机宽度也要能用;遵守「减少动态效果」设置(关闭震屏,减少粒子)。
- 动画状态机要严谨:动画播放中忽略点击,不能出现点击被吞或状态错乱。
- 目标 60fps。第一次打开时就是完整的待机画面,不能是空白。
【交付前自检】
在蓄力、爆发、揭晓、结算这几个时刻各截一张图,逐张检查:
- 主角有没有被光晕、粒子或文字挡住?
- 有没有过曝成一片白?
- 背景是否杂乱,有没有穿帮的描边线?
- 小字是否能看清?
- 结算后是否还有东西在不该动的时候继续抖动?
最后告诉我:每个阶段的时长,以及哪些参数可以调整演出强度。
@aigc1024
 
 
Back to Top