主题
材质与贴图
印刷内容属于贴图;随角度变化的光泽属于材质。
材质类型与参数
V2 支持 standard、physical、basic。常规纸张使用标准 PBR;透明盒可用物理材质的透射与厚度。不要把提高透明度当成真实玻璃或塑料体积效果。
| 字段组 | 精确白名单 |
|---|---|
| 数值 | roughness, metalness, opacity, transmission, thickness, ior, clearcoat, clearcoatRoughness, envMapIntensity, bumpScale, iridescence, iridescenceIOR, alphaTest, side |
| 二维向量 | normalScale |
| RGB 三分量 | color, emissive, attenuationColor |
| 布尔值 | transparent, depthWrite, depthTest, flatShading |
| 贴图引用 | map, normalMap, bumpMap, roughnessMap, metalnessMap, alphaMap, emissiveMap |
包内材质 values 与 maps 只接收上述已支持字段。可用的内置 effect 仅有 radial-diffraction;不要给自定义 onBeforeCompile 改个名字就宣称兼容。
图片必须内置
封面与贴图使用 PNG 或 WebP 的 Base64 data URI。原始 JPG 可以作为制作素材,但需要转换后嵌入。包里不接受远程贴图地址、作者磁盘路径或需要后台服务的资源。
先等待贴图加载完成,再调用导出器。serializeScene 会读取图像并打包,空图像或尚未加载的图片不是可靠的导出输入。封面 cover 也计入图片预算。
贴图属性
每个 V2 贴图条目包含 id, image, repeat, offset, center, rotation, flipY, wrapS, wrapT, colorSpace。其中三个二维数组为 repeat/offset/center,rotation 为数值,flipY 为布尔值。wrapS/wrapT 只接受 1000, 1001, 1002;colorSpace 为 ""、"srgb" 或 "srgb-linear"。优先让随包导出工具填写这些值。
检查材质而不只检查正面
- 旋转后高光是否随视角变化,文字是否仍可读。
- 透明片是否遮挡后面的点击;确需穿透选取时设置
userData.pickThrough。 - 双面纸和盒盖是否出现闪烁、反字、边缘漂浮。
- 纸、金属、透明塑料是否有真实厚度,而非一层印刷截图。
- 压缩贴图后重新查看标签四边、小字与跨页,不以截掉内容换取体积。