关于 squash-stretch-mastery
一项讲解挤压与拉伸的设计技能,介绍如何用这一 Disney 动画原则表现受力并赋予物体生命感。面向动效设计师和动画师,涵盖体积、材质及其在界面、角色、标志和游戏中的应用。
主要功能
- 01形变时保持体积
- 02依据材质弹性调整形变
- 03配合时机与后续动作
- 04应用于界面、角色、标志和游戏
- 05避免常见形变错误
适用场景
- 01制作按钮按压动画
- 02表现角色跳跃或受击
- 03为标志添加动感
- 04按材质和基调调整形变
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill squash-stretch-mastery安装后在 Claude Code 中输入/squash-stretch-mastery确认已加载。
详细介绍
挤压与拉伸精要
基础原则
挤压与拉伸被认为是迪士尼 12 条原则中最重要的一条,因为它解决了动画的根本问题:让刚性物体显得鲜活。它诞生于 20 世纪 30 年代的迪士尼,源于对真实肉体和橡胶在受力时如何变形、同时保持体积不变的观察。
核心理论
体积守恒:物体挤压时必须变宽,拉伸时必须变窄。这一约束能带来可信感——违反它,物体看起来就会像是在变大或变小,而不是在变形。
力的可视化:挤压与拉伸能让不可见的力变得可见。球撞击地面时挤压,展现了地面的阻力。角色在跳跃中途拉伸,则揭示了速度与动量。
弹性范围
并非所有物体都会以同样的程度变形:
- 高弹性:橡胶球、卡通角色、果冻(极度变形)
- 中等弹性:人脸、布料、肌肉(细微变形)
- 低弹性:木头、金属、骨骼(变形极小,但依然存在)
即使是“刚性”物体,也能从 1-2% 的变形中受益——这能避免僵硬、机械的感觉。
与其他原则的互动
节奏能强化挤压与拉伸:快速撞击需要更明显的挤压;缓慢飘浮则需要轻柔的拉伸。变形程度必须与速度相匹配。
预备动作会用到拉伸:角色为跳跃蓄力时,通常会在动作开始前略微拉伸。
跟随动作会延续变形:落地后,挤压会传递到次要元素(头发、衣物、肉体)。
应用领域
UI/动效设计
- 按钮按下:点击时轻微挤压(高度缩至 95-98%)
- 列表项:超出边界拖动时略微拉伸(橡皮筋滚动)
- 通知:出现时挤压,随后弹跳至静止
角色动画
- 面部表情:微笑时脸颊挤压,惊讶时拉伸
- 行走循环:接触地面时躯干压缩,迈步经过时伸展
- 情绪瞬间:震惊时极度拉伸,沮丧时挤压
Logo 动画
- 弹跳 Logo:夸张的挤压能营造俏皮的个性
- 细微呼吸感:微幅挤压与拉伸能让静态 Logo 保持鲜活
游戏手感
- 跳跃弧线:上升时拉伸,落地时挤压
- 受击反应:先短暂挤压以强化冲击感,再产生击退
- 可收集物:用轻柔的挤压与拉伸形成有节奏的脉动
常见错误
- 破坏体积:物体看起来像是在变大或变小,而不是变形
- 均匀变形:真实物体在受力处会产生更明显的变形
- 过度使用:细微的场景需要 1-5%,而不是卡通式的 50%
- 极端变形保持静止:变形应平滑进入和退出,绝不能突然跳变
实施经验法则
活力十足的动作可从 10% 的变形开始,细微润色则从 2-3% 开始。根据材质和基调进行调整。如拿不准,宁少勿多——挤压与拉伸应当能被感受到,而不应被有意识地察觉。
评论
支持 Markdown