Communitygithub.com

juicy-motion

创建和精炼富有表现力的动效以及界面与游戏中的视觉反馈:奖励、揭示、打击、射击、魔法和元素视觉特效,包含预备动作、冲击和消散效果。附带带有可调节时机的交互式预览。

juicy-motion 是什么?

该技能专注于为界面和游戏设计富有表现力的动效,特别适合需要传递触感和反馈的场景,如奖励展示、战斗打击、魔法特效等。其核心理念来源于 motion design 中的“预备动作—冲击—消散”三部曲,确保每一个事件都清晰可读。技能提供了完整的参考框架,包括针对奖励、战斗和魔法三类场景的详细配方,以及多个参考视频案例。在实现上,支持使用 HTML/CSS/SVG 和 Web Animations API 构建独立预览,便于时机调试和视觉反馈迭代。关键原则包括:分层时间线、强度匹配事件频率、避免全局抖动、保留可重复性和可回溯性。适用于任何需要高表现力动效的产品,搭配明确的领域事件约束(如奖励应在确认事件后触发动画)。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/johnnyzao/johnny-skills/tree/main/skills/juicy-motion

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Juicy Motion

以动效设计师的思维方式工作:使用预备动作、冲击和消散让每个事件都富有表现力且易于理解。 用户欣赏的参考案例是 Quinas 03 · 工资到账: 一个信封变得生动,分层揭示奖励。可复用的核心是运动语言; 对象、品牌和强度取决于产品。

选择系列

在此技能中保留核心内容,仅查阅所需的配方:

qutsune/EgorV 的七个视频位于 参考目录 中,包含观察记录和建议应用。 在选用参考或接近所需效果时可查阅此目录。宝箱已经是 Quinas 配方的视觉来源; 其余视频则扩展了冲击和视觉特效的素材库。当有独立且大量的工作流程时, 再分离出另一个技能,例如针对特定引擎的着色器和视觉特效集成; 一个不同的视觉元素只需作为本技能内的一个配方即可。

设计事件

  • 确定触发器、动作的起源、揭示的内容或击中的目标以及最终结果。 对于金钱收益,终点可能是钱包;解锁时是新的可用选项;攻击时是接触和目标反应。
  • 选择合适的准备动作:打开时的抖动和压缩、打击的后拉或发射前的蓄力。 协调拉伸与输出、过冲与到达、以及安顿与阅读,使这些动作合理。 避免一组元素仅仅一起淡入。
  • 在时间上分层。奖励:打开 → 发光 → 揭示对象/数值 → 标记冲击 → 星点散开 → 用尘埃延长。 攻击:准备 → 发射/打击 → 接触 → 反应 → 消散。 叙事优先于粒子数量或层次数量。
  • 强度要匹配频率。罕见的庆祝可以更显眼; 频繁的提示则需要更少的等待和更小的空间占用。将冲击定位在对象/卡片上, 不要自动选择晃动整个应用。
  • 对于频繁效果或战斗效果,保持动作、目标和操作指令的可读性。 奖励的庆典时机不能用于攻击的时机。
  • 教程的构建顺序不决定效果的延迟。 将各层锚定在同一事件上:闪光、反应和声音可以在接触时同时发生, 而拖尾和残留物有各自的时间长度。视频时长也不代表所展示动作的时长。

构建与预览

倾向于使用 HTML/CSS/SVG 和 Web Animations API 来制作界面对象和效果。 使用项目中的资源和架构;不要为依赖可调节变形、打开和轨迹的效果生成位图。 在游戏中,使用现有的渲染器和更新循环来实现世界中的效果; 网页预览可以研究时机而不必将 DOM/CSS 强加给集成。

要启动一个独立的奖励体验,复制并调整 assets/reward-envelope.html。这是一个 自包含的例子,无需库、图像或网络:信封、通用奖牌、光、星、尘埃、收益和模拟钱包, 附带重播、滑块、速度、图层和减动画效。根据需求修改 CONFIG、构成和轨迹; 该示例不能替代特定产品的设计。

预览必须让人感受到结果并能检查时机:重播、播放/暂停、慢镜头和时间线。 图层切换有助于理解预备动作、光和粒子各自带来的贡献。探索时,将基础动作与添加的图层进行比较,找出每个图层解决的问题: 起源不清晰、接触乏力、目标无反应或后果不明确。显示使用所在的尺寸 和上下文,而不仅仅是孤立的放大对象。变体的数量 遵循需求和本地规则;改进已批准的版本时,保留示例 并专注于改进而不是重新开始探索。

截屏是辅助手段,不能证明运动。审查重放时, 也要在时间线上暂停在准备、动作/接触、响应和完成状态。交付 指向交互式示例的直接链接。区分模拟数值与 真实事件和支付。

有用的不变量

  • 为各层使用共享时间线。重播/寻道必须产生 相同的状态并避免粒子、定时器或监听器的重复。 当有程序化变化时,保留种子以便复现和比较。
  • 在 UI 中,主要动画化 transform 和 opacity。当多个效果会争夺同一属性时, 使用包装器来分离变形、位移和输出。
  • 延迟的输出不应覆盖初始状态:在 WAAPI 中,在该输出上使用 fill: 'forwards',或将各阶段组合成一个动画。在 t=0 时和向后拖动滑块后检查状态。
  • 根据场景内钱包的实际位置计算金币的终点,并在调整大小时重新计算。不要将轨迹固定在作者的显示器上。
  • 在减动画效模式下,保持内容和结果直接可读, 去掉抖动、挤压、粒子、飞行、摇晃和闪烁。预览可以提供明确的命令 来体验动效;保留用户的主动选择。
  • 声音是可选的图层,由交互触发并带有控制。保留 现有设置,避免为同一收益播放两个声音。
  • 在集成时,尊重领域的事件和约定。奖励 始于一个已确认的事件;动画不能分配金钱、更改 库存或通过余额差异或定时器结束来推断收益。 在战斗中,区分发射、接触和已确认伤害;尊重 现有的视觉预测,不要将效果结束当作命中的证据。

保留与复用

在 Quinas 中,查阅仓库中的 docs/Identity/MOTION.md 和 docs/Identity/motion/recompensas-03/。这是选择、T01/Q 资源和已批准示例的权威来源。同时遵守 关于预览、S2/T2、主题和工件存储的本地规则。

在其他项目中,保留方法并使用该产品的标识。不要 自动移植 Quinas 的品牌、货币或控件。

当用户批准并要求保留时,将可复现的代码、资源、时机和选择的背景保存在标识的持久位置, 同时在设计索引中保留链接。区分已批准的参考和真正的集成。 预览或保留任务留在那个范围内;实现请求 遵循现有的授权,而不是发明新的关口。

检查最小的相关范围:重播、向后寻道、重播、内容切换、 主题、小屏幕、轨迹终点、资源和控制台。在更改产品时,执行项目要求的集成检查。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能