SuperAPI AI 工具集

avatar-animations

设计与创作

查看项目

更新于 10-16 05:05

技能介绍

用途:为 Decentraland 场景制作玩家头像的自定义动画(场景表情)。在 Blender 的官方 Decentraland 头像骨架(Avatar_File.blend)上摆姿势、导出单段动画为 *_emote.glb、校验文件,再交给场景播放。播放侧的 API(triggerSceneEmote、stopEmote、AvatarEmoteCommand、AvatarMask 枚举与权限)属于 player-avatar 技能,本技能只做链接指引。

流程:其一,使用 Avatar_File.blend 官方骨架,不要手搭骨架;其二,场景设为 30 fps(默认文件为 24),记录 Starting_Pose 数值,每个动画片段新建一个 action,摆姿势只动 CTRL_ 控制骨,并在 Pose 模式下对每个改动过的骨骼在每个关键帧打关键帧;其三,边做边校验:打印世界坐标并渲染四个角度的 contact sheet;其四,导出时每个文件只含一个片段、仅骨架、export_def_bones=True、ACTIVE_ACTIONS;其五,解析 GLB 的 JSON 块校验:1 个动画、0 个网格、63 个节点、每条路径 62 个通道,时长 = (帧数 − 1) / 30;其六,重命名为 *_emote.glb,放到 assets/animations/,加入权限后在场景中播放。

限制:帧率 30 fps、最长 10 秒/300 帧、.glb 格式、最大 3 MB、采样率默认 1、每文件仅 1 段动画、仅含变形骨架与动画、起止姿势均为 Starting_Pose、根节点水平位移不超过 1 米且所有部分位于 4×4×4 米动画区域内、文件名须以 _emote.glb 结尾(不区分大小写)、scene.json 需 ALLOW_TO_TRIGGER_AVATAR_EMOTE 权限。遮罩(上半身)动画与非遮罩共用同一文件,区别在触发时的 mask 参数;遮罩动画不叠加在其他 emote 上,且本地玩家的遮罩 emote 不产生 AvatarEmoteCommand 生命周期事件。