Skip to content

[Feature]: 前端把动作生成结果写进 sequences,多朝向才存得下 #530

Description

@johnnyzhang-eng

背景

多朝向的存储形状两侧都已就位,缺的是生成结果写进去这一步。

后端 CharacterActionSequence 带完整校验(同一动作不许重复方向、镜像方向不存独立帧、镜像帧数须与源方向一致),前端 ActionSequence 类型也在,且导出契约、asset-exportoutfit-playback 三处都在消费 action.sequences

生成结果自 #449 起就带 directionCharacterActionOutput.direction,默认 east;实测 staging 近一天 10 个任务进出都带 east)。

问题

动作生成完成后,前端只把结果写进 action.frames,不写 action.sequences。于是同一个动作生成了多个朝向时,第二个朝向覆盖第一个,或者只留下一组帧 —— 这正是 #222 背景表里那句「一个动作只能保存一组帧,无法区分不同朝向」。

后端不能代做:写 character_data 是前端在更新角色时做的。

需要前端补的

  1. 动作生成结果落库时写 sequences:一条对应结果里的 directionframe_countframes 一致
  2. 同一动作再生成另一个朝向时,新增一条 sequence 而不是覆盖;重做已有朝向则替换那一条
  3. 四向项目里镜像方向(west 对 east、north-west 对 north-east 之类)按后端校验规则只写来源关系、不写帧mirror_x=true + source_direction + frame_count 与源一致,frames 留空。写了帧后端会拒
  4. 顶层 frames 的存量语义保持不变(旧资产视为 east),不要为了统一而迁移存量

不包含

验收

  • 同一动作先生成 east 再生成 west,character_data 里是两条 sequence,两组帧都在
  • 镜像方向写成来源关系时后端接受;带上帧时后端拒绝,前端能显示拒绝原因
  • 只有顶层 frames、没有 sequences 的旧资产仍能正常导出与播放

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions