后端(Odoo addons): - game_base: 迁入 关于 功能(game.page/game.page.item/yusen.asset 模型、page_views/asset_views、6条权限、menu_website_about 左侧应用入口),新增 chat 模块(AI世界聊天: chat.py/chat_api.py/chat_data.xml/chat_views.xml) - yt_world: 合并 game_ai_npc(npc 模型/数据/controller),修复菜单 NotNullViolation - yusen_website: 移除已迁出的 page/asset,背景菜单改挂 game_base.action_game_page - 新增 game_asset_backup 纯数据模块: 备份前端素材到 addons(game_assets/),预置 图鉴(game.codex.entry)9条(过场CG/动物) + 素材管理(yusen.asset)120条(地形/建筑/瓦片/幻灯片/背景/路/UI),按类分 tags 前端(assets + HTML): - 新增 chat.js / game-api.js、chat.html / buildings_default_demo.html - 清理旧 slides/website 冗余文件,更新 GENERATION_RULES.md 与动物九宫格素材
3.7 KiB
3.7 KiB
宇森 人族动态素材规则(稳定批量输出)
可编辑规范:新增/调整动作、角色、风格时,照此规则批量生成即可。
1. 输出格式
- 1×N 横条(一张图内多帧横向排列),按动作组合各一张文件,不切单张。
- 6 帧/条(验证比 9 帧/条稳:9 帧会角色比例漂移、缺帧)。18 帧 =
walk 1×6+idle_attack 1×6+work_comm 1×6。 - 分组按动作体型相近:
idle+attack(站立/小幅上身)、work+communicate(手持/手势)。 - 渲染:Canvas
drawImage(sheet, frame*FW, 0, FW, FH, …)按帧偏移取,FW = sheet.width/6;朝向靠运行时水平翻转(左右不各生成一条)。
2. 素材位置
- 生成原图(白底):
human/raw/human_<group>_1x6.png - 最终透明图(用户 PS 去白后):
human/human_<group>_1x6.png - 风格锚参考图:
human/references/ref_human_walk.png <group>取值:walk/idle_attack/work_comm,新动作类推(如cast、harvest…)。- 目录约定:
human/根只放最终透明成品(给 demo 引用);human/raw/放生成原图/源图;human/references/放风格锚参考图。 - 现有 walk 历史命名
human_walk_downleft_6f_trans.png可后续统一重命名为human_walk_1x6.png(需同步改 demo 引用)。
3. demo 位置
E:/project/yuthon/game/buildings_default_demo.html:素材已 base64 内嵌,file:// 直接打开即可,不依赖本地服务器(沙箱 localhost 不暴露到真机)。- 三张表
walk / idleAtk / workCom按STATES切换;idle/walk循环,attack/work/communicate单次播完回idle;指令接口window.triggerAction('attack'|'work'|'communicate'|'idle'),键盘A/W/C/I。 - 每个 state 有独立
dur(每帧秒数),可单独调某个动作速度,不影响其它。
4. 生成素材的条件
- 触发:需要新动作/新角色且对应条不存在,或现有条被判定质量不合格时,才生成。
- 一次生成一张 1×6 横条(不拆多张、不一次出多张)。
- prompt 必须写明
exactly 6 frames, no missing/merged frames, evenly spaced,避免缺帧/合并。 - 背景用纯白 #FFFFFF(用户自己用 PS 去白),我这边不再做透明键。
5. 风格
- 2.5D 左下对角线视角、小头(约 1/7 身)、深色描边、可见方块像素、无抗锯齿;明亮卡通调色板。
- 锁风格靠参考图(见下),prompt 复用同一套风格描述,保持跨条一致。
6. 大小
- 生成尺寸:
1536×512(6 帧横排)。 - 最终游戏帧:96×96/帧,整条
576×96。生成后整体缩到 576×96(保持横条,不切单帧),白底交付用户 PS。
7. 参考图(风格锚)
- 风格锚:
human/references/ref_human_walk.png(从用户认可的「还可以」walk 透明版拷贝,统一收在references/)。 human/根仅放最终透明成品给 demo 引用;生成原图(白底)放human/raw/;风格锚参考图放human/references/。- ImageGen image-to-image +
input_fidelity: high锁角色;每次生成都带ref_human_walk.png这张参考,保证新动作同一个人。
8. 用户后处理约定
- 我交付白底 1×6 横条 → 用户 PS 魔棒去白 → 导出透明 1×6 横条到
human/最终目录 → demo 引用最终透明图。 - 去白时整条处理(保留横条结构),不要切单帧。
备注
- 当前可用最终素材(已透明):
human_walk_downleft_6f_trans.png、human_idle_attack_1x6.png、human_work_comm_1x6.png(白边已用 flood-fill 连通抠图修掉)。 - 效率取舍:我负责「生成白底横条 + 缩到 96 帧 + 写 demo 引用」;精细/去白交给用户 PS。