用途:在 Roblox 中构建或调试角色动画、IK 姿势、动画标记事件,以及 UI 或物体补间动画,适用于移动、表情、动作混合和定时事件。
主要能力:提供三种运动系统的选择依据——需要可混合的 3D 骨骼/角色动作时用动画系统(Animator + AnimationTrack),按优先级、权重、淡入淡出和速度播放,并用标记驱动玩法;只需简单属性变化、UI 过渡或一次性物体运动时用 TweenService(适用于 GuiObject 的缩放 + AnchorPoint + UDim2、CFrame、Color3、Transparency、NumberSequence 等);需要与环境进行程序化交互(手部够取、头部追踪、不平地面上的脚部放置)时用 IKControl,可配合 AnimationTrack 或约束限制。
使用方式:通过 Animator 加载轨道,为动作选择优先级、权重、淡入时间和速度;用命名标记处理脚步、特效等定时事件,重新发布资源时保持名称稳定;预加载 Animation 资源并复用已加载轨道,移除骨骼时停止轨道并断开信号。IK 需定义链根、末端执行器和目标,在 Play 模式下调整响应性和关节限制。UI 动画使用缩放和 AnchorPoint 实现响应式运动,需要固定比例时加宽高比约束,整面板淡入淡出用 CanvasGroup,序列结束或 GUI 销毁时取消冲突补间并断开完成处理器;文字逐字显示用 TextLabel.MaxVisibleGraphemes,并考虑本地化和 Unicode 字符边界。
适用场景:动画标记可联动音效、粒子、命中判定、IK 够取、枪口闪光或 UI 冷却环补间;优先级加权重用于分层(待机低、行走中、动作高);客户端播放适合玩家自身角色和纯装饰性动画,NPC 等由服务器权威控制,影响玩法的时序(伤害窗口、移动锁定)应在服务器验证,不能把客户端标记当作命中权威证据。
限制与常见错误:不要用已弃用的 Humanoid:LoadAnimation,改用 Animator;不要逐帧轮询 track.TimePosition 而不用标记;不要补间原始像素偏移而不用缩放加 AnchorPoint;高优先级动作不加淡入时间会突兀;不预加载会导致首次播放卡顿;所有动作使用同一低优先级会让待机与动作冲突;忽略 IK 约束会导致肘膝反向弯曲、手腕角度不自然;不要逐个补间大量 UI 元素,应使用 CanvasGroup 或布局。不同设备帧率和输入延迟不同,需在移动端和桌面端测试缓动手感,大量同时补间可用 MicroProfiler 分析。ViewportFrame 内不渲染 ParticleEmitters、Beams、Trails、Lights。
官方参考:https://create.roblox.com/docs/animation、https://create.roblox.com/docs/animation/editor、https://create.roblox.com/docs/animation/inverse-kinematics、https://create.roblox.com/docs/animation/events、https://create.roblox.com/docs/ui/animation、https://create.roblox.com/docs/reference/engine。