SuperAPI AI 工具集

stackchan-nukoevi-motion-assets

设计与创作

查看项目

更新于 10-16 03:36

技能介绍

用途:在 stackchan-nukoevi 固件中创建、重新生成、校验和烧录 Nukoevi 的眨眼、说话、睡眠动态素材。

主要能力与硬性约束:最终显示帧为 320x240 横向 4:3;六帧说话或睡眠长条图为 1920x240;普通眨眼与困倦头像帧是固件 assets 分区中的运行时原始 RGB565 .bin 素材,不是 app 分区的 C 素材;全屏 Nukoevi 头像帧不得使用 LZ4 压缩(该路径曾在硬件上导致白屏);改动运行时 .bin 或 partitions.csv 后必须用 full flash 而非 app-flash;禁止强制变形(如 -resize 320x240! 或 -resize 1920x240!),只做保持宽高比的缩放;先查看实际参考帧,不得自行臆造构图。nukoevi-source.png 是身份/风格参考,nukoevi-blink-frame-0..3.png 才是构图参考,可见范围是头、脸、帽子、耳朵、头发和脖子,不要加入胸部或躯干。

运行时素材:眨眼用 nukoevi-screen-open/half-a/closed/half-b.bin;说话用 nukoevi-talk-closed/tiny/medium/wide/small/smile.bin;睡眠用 nukoevi-sleep-drowsy/nearly-closed/nod/asleep/wobble/return.bin。这些 .bin 为 12 字节 LVGL 图像头加 153600 字节 RGB565 像素数据(magic、LV_COLOR_FORMAT_RGB565、flags 0、size 320x240、stride 0)。说话帧可保持 LZ4 压缩。assets 分区为 5M,素材增大时需对照 firmware/build/generated_assets.bin 检查。

生成流程:先用 magick +append 拼出眨眼参考长条并查看;用内置 image_gen 从单一基础图生成以保持角色、裁剪、背景等稳定。说话生成六帧(闭口、微张、中张、大张、小圆口、柔和闭口微笑),只改嘴部;睡眠生成六帧(困倦、将闭、闭眼、熟睡、单眼微睁、困倦回归),只改眼睑和微嘴表情。随后按给定 magick 命令写入帧与长条。重新生成眨眼用 uv run --with pillow python .../generate_nukoevi_blink_assets.py;说话与睡眠用 uv run --with pillow --with lz4 python .../generate_nukoevi_motion_assets.py;校验用 magick identify 和 uv run --with pillow python .../verify_motion_asset.py,期望帧 320x240、长条与预览 1920x240、verifier 输出 matches=True,并展示预览图检查裁剪、挤压、缩放漂移、背景漂移和身份漂移。

烧录:在 firmware 目录执行 . ~/esp-idf/export.sh; idf.py build; idf.py -p /dev/tty.usbmodem3101 flash,随后短暂 monitor,确认出现 [NUKOEVI] on open、blink assets loaded: ok、sleep assets loaded: ok。完整示例路径与命令详见资料,具体仓库路径需按本机调整。