生成正面、背面、侧面,可以走动的角色形象

昨天 21:38综合
当前 NPC 角色编辑器的数据结构
编辑器使用 32×32 像素画布,数据结构大致是:
3 个朝向:正面、背面、侧面
2 个动画状态:静止(idle)、行走(walk)
每个状态可以有多帧,支持帧率控制
每帧本质上是一个 32×32 的颜色数组
要解决的 3 个问题
步骤 问题 方案
1. 图片→编辑器 128×128 PNG 导入为 32×32 像素数据 加载图片后逐像素采样(每4×4取1像素),写入 CharData 格式
2. 正面→背面/侧面 从一个视角推导其他视角 用 AI 图片生成(以正面图为参考,描述"背面/侧面"),生成后同样导入
3. 静止→行走 生成走路动画帧 AI 生成 2~3 帧不同腿部姿势的变体,逐帧导入
具体流程设想
原始图片 (128×128)
    │
    ├─ AI 生成 → 正面站立 (已有)
    ├─ AI 生成 → 背面站立 (参考正面图,提示"同一角色背面")
    ├─ AI 生成 → 侧面站立 (参考正面图,提示"同一角色侧面")
    │
    ↓ 每张图
  缩采样 128→32  →  写入 CharData 的对应 [朝向][idle][帧1]
    │
    ├─ AI 生成 → 正面行走帧×2~3
    ├─ AI 生成 → 背面行走帧×2~3
    ├─ AI 生成 → 侧面行走帧×2~3
    │
    ↓
  同样缩采样  →  写入 CharData 的对应 [朝向][walk][帧1~3]
技术难点
像素读取:UrhoX 中可以用 Image:GetPixel(x,y) 读取图片像素颜色,这部分没问题
AI 一致性:AI 生成的背面/侧面可能与正面风格不完全一致,像素风格比写实风格好控制一些,但仍需要人工微调——这恰好是编辑器的用途
色彩映射:128×128 缩到 32×32 后颜色会更丰富(混合色),需要决定是精确保留还是映射到调色板最近色
结论
完全可行。流程是:
AI 批量生成 3 朝向 × 2 状态 的像素图 → 自动导入编辑器 → 用户在编辑器里微调
需要给编辑器加一个 “导入图片” 功能按钮,选择图片后自动缩采样并填充到当前朝向/状态的帧数据中。
TapTap
1
9