现象
三渲二产出的 2D 序列帧里,角色的脸与正面细节明显糊,比母版差一个量级。换渲染材质、加光照、提贴图分辨率都救不回来——信息在图生 3D 那一步就丢了。
根因(已量化)
图生 3D 的自动 UV 展开把网格切成上千个碎片铺进图集:
| 项 |
实测 |
| 贴图尺寸 |
4096×4096 |
| UV 有效覆盖率 |
50.3%(一半 texel 浪费在碎片间隙,等效降成 ~2900²) |
| 头部占模型表面 |
4.7% |
| 头部分到的贴图面积 |
4.8% |
| 母版上脸的高度 |
~168px |
| 模型上脸的 texel 边长 |
~26px 量级 |
母版是 1024×1536 的成品美术图,重建之后脸只剩几十个 texel。这是有损重采样,不是渲染问题。
方案:正面投影烘焙
拿母版当纹理源,从正面正交相机把它投影回模型 UV,覆盖所有面向相机的三角形。
为什么是这个形式而不是"贴一张脸图上去":
- 母版与模型天然对齐 —— 模型就是从这张母版重建的,正面轮廓吻合,不需要人脸配准
- 修的不只是脸 —— 胸甲、腰带、裙褶、靴子花纹,整个正面都会回到母版级
- 纯本地、零 API 成本,可以反复迭代
- 一次修好,所有朝向所有动作都受益 —— 改的是模型贴图,不是某一帧的像素
已知局限:只修得了正面。侧面与背面仍是重建的猜测。对横版 2D 这是可接受的取舍(正面与侧面是主视角),但要写进文档,别让人以为整个模型都提升了。
实现要点
- 投影方向必须与生成母版时的相机一致;模型朝向按包围盒判,不能假设(实测两个 provider 的臂展轴不同:一个沿 X、一个沿 Z,同一相机角度一个看到正面一个看到侧面)
- 背面朝向的三角形要剔除,否则母版会被投到背面去
- 边界要羽化,否则正面/侧面接缝处会有硬边
- 烘焙后的贴图另存,不覆盖原始产物——原始的是付过费的,不可重生成
验收
- 同一模型、同一
cel 材质、同一机位,烘焙前后的正面渲染图对照,脸部可辨识度肉眼可见提升
- 侧面与背面不劣化(投影不该溢出到不该覆盖的三角形)
- 零 API 调用
Refs #192
现象
三渲二产出的 2D 序列帧里,角色的脸与正面细节明显糊,比母版差一个量级。换渲染材质、加光照、提贴图分辨率都救不回来——信息在图生 3D 那一步就丢了。
根因(已量化)
图生 3D 的自动 UV 展开把网格切成上千个碎片铺进图集:
母版是 1024×1536 的成品美术图,重建之后脸只剩几十个 texel。这是有损重采样,不是渲染问题。
方案:正面投影烘焙
拿母版当纹理源,从正面正交相机把它投影回模型 UV,覆盖所有面向相机的三角形。
为什么是这个形式而不是"贴一张脸图上去":
已知局限:只修得了正面。侧面与背面仍是重建的猜测。对横版 2D 这是可接受的取舍(正面与侧面是主视角),但要写进文档,别让人以为整个模型都提升了。
实现要点
验收
cel材质、同一机位,烘焙前后的正面渲染图对照,脸部可辨识度肉眼可见提升Refs #192