用途:在 Three.js 中构建高级程序化动画,适用于发射运动学、重力转弯、分级分离、旋转对接、目标坐标系分解和弹簧跟随等场景。核心思路是动画化语义状态,而不是互不相关的变换曲线;在编写逐帧更新前,先定义阶段、坐标系、速度和归属关系。
主要能力与构建顺序:定义时间线阶段与事件边界;为每个运动选择坐标系(世界、主体局部、轨道径向、对接轴或镜头);从该坐标系推导目标位置与朝向;用解析运动学处理预设行程,用弹簧实现响应式收敛;从层级中分离子对象时保留世界变换;分离平移、对齐、旋转和次级碎片状态;限制积分增量,并在重放或销毁时重置所有状态变量。
使用方式:技能说明要求阅读 references/procedural-motion-and-docking-systems.md,其中包含发射、分级、对接、碎片、弹簧、四元数以及帧率无关响应的实现。
不可协商的规则:使用经过秒数和 deltaSeconds,不要基于帧数;从方向或坐标系推导朝向,再将滚转或自旋作为独立四元数应用;将对接误差分解为轴向和径向分量;在序列结束时从弹簧收敛切换到精确终端姿态;重新挂载动画对象时,在移除前捕获世界位置、四元数和缩放;运动需要可复现时使用带种子的随机数;将视觉抖动限制在有界范围内,并与轨迹分离。
路由边界:镜头构图和相机交接使用 $threejs-camera-direction;当交付物主要是等离子、火花或效果池而非对象变换运动时,使用 $threejs-procedural-vfx。
限制:资料未提供具体安装命令、依赖版本、平台要求或收费信息。