SuperAPI AI 工具集

animations-tweens

设计与创作

查看项目

更新于 10-15 20:34

技能介绍

用途:在 Decentraland 场景中为对象添加动画。资料给出四种方式的选择依据:GLTF 模型已含动画用 Animator;两个值之间的简单移动/旋转/缩放在 main-entities.ts 用 Tween;需要串联多段动画用 TweenSequence;需要逐帧控制或自定义数学用 engine.addSystem() 配合 dt。

主要能力:Animator 通过 states 数组声明 clip、playing、loop、speed,运行时用 Animator.playSingleAnimation 切换,或用 getMutable 修改 states 的 playing;支持 getClip、shouldReset 重播、weight 混合,以及通过 state.weights 驱动 morph targets(0–1)。Tween 支持 move、rotate、scale 三种模式,duration 单位为毫秒,easingFunction 为数值枚举(如 0=EF_LINEAR、6=EF_EASESINE、14=EF_EASEOUTBOUNCE)。TweenSequence 可链式播放并设置 loop(0=TL_RESTART,1=TL_YOYO)。

使用方式:在 main-entities.ts 中声明实体、Transform、GltfContainer/MeshRenderer 及初始动画状态;在 src/index.ts 中通过 getMutable 或 Tween.createOrReplace / Tween.deleteFrom 在运行时替换或停止。也可用 Tween.setMove、setRotate、setScale、setMoveRotateScale、setRotateContinuous、setMoveContinuous 等辅助方法。旋转可用 Quaternion.fromEulerDegrees 避免手算四元数。用 tweenSystem.tweenCompleted(entity) 检测补间是否在本帧完成。

适用场景:角色行走、开门、旗帜飘动、滑动门、浮动平台、物体生长、巡逻路径、多步门等。

限制与注意:Animator 仅对已加载 GLTF 模型的实体生效,clip 名称大小写敏感;Tween 起止值相同则不动;只播放一次需配合 TweenSequence 循环;不要在每帧系统内新建 Tween,否则会抖动。资料未提供收费、价格或平台支持信息。