Composer不提供真实弹簧物理引擎,阻尼效果需手动拟合三段式减速曲线:主段线性、过渡段Bezier降速、末端爬行微调,并严格对齐枢轴点与受力方向。

Composer 本身不提供弹簧物理引擎或阻尼参数控件,所谓“阻尼运动”只能靠手动拟合减速曲线实现——它不是算出来的,是调出来的。
为什么直接设缓动(Easing)达不到真实阻尼感
默认的 FastOutSlowIn 或 EasyIn 曲线只是数学函数,不匹配机械系统的真实衰减行为:真实阻尼停顿有明确的“末段爬行”特征(最后 10% 位移耗时占总时长 30% 以上),而标准缓动在末端斜率仍偏高,看起来像刹车抱死而非弹性回弹。
- 用
FastOutSlowIn做旋转停止,零件会在最后 0.2 秒突然“粘住”,缺少微幅震荡收敛过程 - 若目标是模拟液压缸缩回、气弹簧关门这类带缓冲腔的机构,必须在终点前 0.5 秒起手动插入 ≥3 个关键帧,逐帧压低速度增量
- 所有关键帧的插值类型必须统一为
Bezier,不能混用Linear或Spline,否则中间段会突兀加速
手动拟合阻尼曲线的三步实操法
核心是把“减速”拆成“主段匀速→过渡段降速→末端爬行”三段,每段用独立关键帧控制:
- 主段(0%–70% 位移):设线性插值,保证主体运动节奏稳定
-
过渡段(70%–90%):在时间轴上插入关键帧,将属性值增量压缩到前一段的 40%~50%,插值改
Bezier并拖动出下凹曲线 - 末端爬行(90%–100%):再加 2 个关键帧,间隔拉长至 ≥0.3 秒,值变化量控制在 ±0.3°(旋转)或 ±0.05mm(平移),这是阻尼感最重的部分
示例(旋转停顿):0s: 0° → 1.2s: 280°(线性)→ 1.6s: 325°(Bezier 下凹)→ 2.1s: 348° → 2.6s: 359.5°。最后一段 0.5 秒只转 1.5°,人眼能明显感知“被吸住”的力反馈。
枢轴点与阻尼方向必须严格对齐
阻尼效果是否可信,取决于运动方向是否与真实受力方向一致。常见翻车点:
- 旋转类阻尼(如阀门关闭):枢轴点必须落在阀杆轴线上,且
RotationZ轴与阀杆中心重合;若用RotationX模拟俯仰,需先确认模型导入时 Z 是否朝前 - 平移类阻尼(如活塞回程):平移方向向量必须与装配体中导轨/缸筒轴线夹角 ≤2°,否则末端会出现视觉漂移
- 多自由度叠加时(如旋转+轴向压缩),两个动作的关键帧终点时间必须完全一致,哪怕差 0.02 秒,也会导致“先停转后缩回”的脱节感
真正难的不是调出一条减速曲线,而是判断这个零件在真实设备里,阻尼发生在哪里、由什么结构产生——液压缓冲器?橡胶垫片?磁流变液?这些物理依据决定了你该在哪一帧开始降速、压多少、压几段。没查过原厂手册就硬调,大概率调得越细,越假。











