Blizzard
|
bfbca08d72
|
feat(desktop): 办公室换 AI 房间背景,手绘 SVG 场景全部退役
第三版房间才可用。前两版地板都只占画面 13%,而场景需要 ~60% 的地面
才摆得下工位——但那不怪模型,是我提示词自相矛盾:同时要求"正面平视"和
"下方 60% 是地板",几何上不可能同时成立(平视时地板向地平线收缩)。
改成"俯视 30 度、娃娃屋视角"后一次就对(实测地板 53% / 墙 47%)。
参考项目的 office.png 本来就是俯视娃娃屋 + 正面角色,它早验证过这个组合。
不拉伸图去迁就场景,而是改场景去迁就图:VB 720×510 → 940×512,正好是
房间图的比例(1.835)。拉伸 30% 的话墙上挂钟会变成椭圆,一眼假。
所有坐标按图里量出的百分比换算:FLOOR_Y=242(地平线 47.3%)、
DOOR_X=279(门中心 29.7%,角色从画上那扇真门里走出来)。
量着修的两个碰撞:
- 白板压住门和窗。实测墙上被门 214~343、钟 443~515、窗 612~791、
绿植 863~932 占着,最大空白段仅 214 宽,放不下 340 的白板。选择盖掉
挂钟(静态装饰、零信息量),白板落在门与窗之间的 347~613。
- 协调者的桌子撞上正下方工位的气泡。可行区间只有 (242, 276):
低于 242 会飘到墙上,高于 276 撞气泡。取 268。
字号 ×1.3 补偿:viewBox 从 720 加宽到 940 后,同样单位在真实面板
(~520px)里会缩小 28%,不补的话白板正文只有 7px。验收也是在 520px
下做的,不是在预览页那个宽容的尺寸下。
顺带清掉 4 个死常量(WALL/FLOOR/DESK_TOP/DESK_FRONT)——房间换贴图后没人用了。
资源合计 148 KB(7 立绘 + 1 房间,全 WebP)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-16 11:17:41 +08:00 |
|
Blizzard
|
8b19c572f4
|
feat(desktop): 办公室换 AI 立绘素材(告别手绘 SVG 小人)
用户三次反馈手绘 SVG 不好看 —— 是对的,我不是插画师,程序化矢量画不出
商用品质。技术栈换来换去(3D/Lottie/Spine)都绕不开这点:卡的是美术。
素材:用户用 Nano Banana 生成,链式参考锁风格(先出主管定基准,其余 5 个
+ 桌子 + 房间都拿它当参考图)。版权归用户账号,干净。
为什么最终没上 Spine(用户原本要求照搬 ai-office-react 的实现):
- Spine 运行时不是 MIT。原文要求"每个用户须自购 Spine Editor 授权",
对要卖的产品等于不可行;走另一条要我们买 $69/$330 按座授权。
- 那套 chibi-stickers 素材是 Spine 官方示例(皮肤名里有 spineboy 和
Spine 团队成员名),只授权用于评估学习。参考项目 README 自己写着
"注意素材版权问题!"。
有了立绘就不需要骨骼动画:走位/时序/状态全是现成的 CSS 关键帧,
Chibi 那个口直接换贴图,零 Pixi 零 Spine 零授权。
抠像(scratchpad/art/key.py):只抠「与画面边缘连通」的绿。
绿衬衫角色实测 (41,184,60) vs 绿幕 (9,240,2) —— 两者都"绿压过红蓝",
按颜色阈值必然把衣服抠出洞(实测躯干 81.3% 被误杀);连通域一刀切干净,
对绿植/绿屏同样安全。含软边 + 去绿边,7 张残留绿毛均为 0 像素。
体积:PNG 540KB → WebP 117KB(-78%,平涂+透明是 WebP 强项)。
桌子按「桌面」锚点而非底边:底边贴地时桌宽 200 会让显示器顶到 y=-136
糊住人脸。按桌面对齐后桌子下半截自然超出脚线 —— 这是对的,桌子比人更
靠近镜头本就该更低。铭牌/副标题都压在挡板内(实测 local -27~+23),
掉出去会骑在下边线上被切半截。状态辉光改画在贴图之下、用径向渐变,
硬边色斑糊在显示器背壳上物理讲不通也像贴纸。
手绘版保留为 sprite 缺省时的回落,未删。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-16 10:34:05 +08:00 |
|