按分类 3D建模优化指南
本指南旨在帮助创作者的物品在ZEPETO内顺畅实现,避免出现质量错误,并最大限度地提高渲染效率。指南分为“强制要求”和“建议要求”,请在制作物品前务必查看以下内容。
📌 强制要求
- 如果出台新的强制规定或更改标准,我们将提前通知,以便创作者们能够充分了解。此外,如果需要强制执行新规定,我们将提前告知准确的强制执行时间。(例:由于URP环境变化而导致的 Built-in Shader 使用指南等)
💡 建议要求
- 建议要求是我们为确保物品在ZEPETO应用程序内无错误正常运行而建议的优化标准。但是,如果超出建议范围,且被判定在实际应用程序环境中难以正常穿戴或运行,可能会受到事后驳回处理或禁止销售等制裁措施,因此请尽量考虑建议指南进行制作。
此外,本指南是为了提供更舒适的服务环境而建议的优化标准,并非必须严格遵守的强制性规定。
💡 通用要求:建模优化
ㅣ✔️ 建议在所有类别中尽量避免使用Blendshape
建议在上传至ZEPETO的所有物品中不包含Blendshape数据。这并非旨在限制创作者们的精巧表达,而是为了优化移动端环境,以便所有用户都能顺畅游玩世界而提出的建议事项。
- 数据容量的指数级增长(文件过载)
- 隐藏坐标数据的累积:为了记录网格的运动和形态变化,混合形状必须在内部额外存储大量顶点(Vertex)位置移动的坐标数据。
- 图层堆积现象:这些数据在FBX文件内部的结构,类似于动画图层层层堆叠。这导致整个资源的数据容量过重。
- 实时运算过载(导致设备发热及卡顿)
- 移动端实时运算的局限:在多个虚拟角色同时聚集的3D世界空间中,移动设备实时处理这些混合形状数据将面临极大负担。
- 硬件性能下降:结果导致硬件严重过载,进而引发用户设备剧烈发热和帧率下降(卡顿)。
- 内存超限及应用强制关闭(崩溃)
- 内存(RAM)不足现象:当包含混合形状的物品同时在世界中加载时,会瞬间占满移动设备有限的RAM容量。
- 致命的 OOM 错误:这会导致内存不足(OOM,Out Of Memory)现象,并引发最严重的故障——智能手机系统(iOS/Android)为了保护设备而强制关闭 Zepeto 应用(崩溃/弹出)。
- 多边形计数(Polycount)
- Triangle单位标准:所有类别的拓扑运算及数据限制标准均以三角形(Triangles)为单位,而非四边形(Quads)。
- 导出(Export)前确认:在Blender、Maya、3ds Max等工具中进行FBX导出之前,针对3D视口布局中的Tri(Triangle)计数,请确认其是否低于各类别建议的最大数值。

- 支持背面剔除(Backface Culling)的建模
- 适配 Backface Culling 环境: Zepeto引擎为优化渲染运算,默认采用背面剔除(Backface Culling)方式。
- 结构性收尾处理建议: 在播放动画时,内部可能会暴露的服装袖子内侧、裙子内部、领口(Collar)等部位,为了防止因 Face Normal 方向翻转而呈现透明透视的现象,建议将面完全封闭,或通过产生物理厚度的对象收尾建模来进行操作。

- 清理不良网格数据(Clean Up)
如果建模数据中残留“不良碎片”,将会引发图形处理错误,并成为导致引擎崩溃(Crash)的主要原因。提交前请务必通过“Clean Up”清理这些不必要的数据。
- 未形成面(Face)而悬浮在空中的孤立顶点(Isolated Vertices)或长度为0的边(Edge)会产生不必要的计算开销,请预先删除。
- 避免 Non-Manifold 结构:这是一种在数学上可运算但现实世界中无法存在的结构。请确认以下四大类型,并在建模时进行清理。 *非流形(Non-Manifold)四大缺陷类型
- 单条边(线)上,3个以上面在几何上相互嵌套相邻形成的Y字形或T字形结构
- 两个或多个独立面不共享边界,仅通过一个顶点(Vertex)相交连接而形成的沙漏状结构
- 在完全封闭的网格空间内部,存在从外部无法看到的“幽灵面”横亘其中的结构(主要由网格合并/提取错误引起)
- 在连续的网格流中,特定面的法线向量(Normal Vector)方向被反转,导致与相邻面方向不一致的状态

- 删除不可见面
- Base Body Mesh Culling:由于附加了服装外层或饰品物品而被放置在内侧,建议果断删除被基础虚拟形象身体(Base Body)完全遮挡的Mesh面。
- 资源优化:删除不必要的内部网格可减轻GPU负担,从而提升渲染性能。这不仅有助于提升游戏的流畅性,对降低内存占用率也大有裨益。

- 关节部位拓扑密度优化
- 对于膝盖、肘部、肩膀等活动频繁的关节部位,请布置**至少3条以上的环形边(Loop Edge)**,以确保贴皮后网格能够自然弯曲。相反,对于形状变化极小的固定部位,应避免不必要地将面分割得过细,而应尽可能简化处理,从而提升角色的运行性能。

ㅣ✔️ 服装类(DR、TOP、OTR、BTM)
- 最大三角形数量建模规范
- DR(一套服装):最多 10,000 个三角面
- TOP(上衣)/ OTR(外套):最多 6,000 个三角面
- BTM(裤子、裙子):最多 5,000 个三角面
- 建模指南
- 接缝线(Seam Line)顶点对齐:上装(TOP)与下装(BTM)相接的腰部边界线是虚拟角色移动时变形最剧烈的部位。因此,请确保上装与下装边界面上的顶点数量及线流(拓扑结构)完全一致。 如果边界面的顶点结构或法线(Normal)方向不一致,角色移动时衣服之间会产生缝隙或空隙,导致内部透出,从而产生瑕疵。关键是要仔细调整,使边界面的网格像一件衣服一样自然地连接起来。
- 关节部位的3-Loop边结构:像膝盖、肘部、骨盆这样活动幅度较大的关节部位,在弯曲时网格容易扭曲或变形。为了防止这种现象并确保动作流畅,请在关节弯曲部位密集且均匀地布置3~4条以上的边(Edge)。

- 服装边缘处理(营造厚度感):对于袖口或下摆等服装边缘部位,不要仅用一条线简单收尾,而应向内加衬布,像真实服装一样处理出具有厚度的效果。 不过,那些深入衣服内部、从外部绝对看不见的布料,则无需刻意保留。请将这些隐藏的布料整齐地剪除或整理干净,务必避免因多余的多边形而降低游戏性能。

ㅣ✔️ 发丝类 (F_HAIR, M_HAIR)
- 最大三角形数量建模规范
- F_HAIR(女性发型):最多 10,000 个三角面
- M_HAIR(男性发型):最多 10,000 个三角面
- 建模指南
- 双层结构建模(Solid Base Mesh + Alpha plane Mesh):为了同时兼顾视觉完成度和移动设备性能的优化,请将总多边形数量的70%建模为包裹头骨的封闭式不透明网格,以确保体积感。 请将剩余的30%多边形以Alpha平面形式布置在轮廓外侧,用于表现发梢、碎发和侧发等细节。
- 确保防止Z冲突的间距:3D图形引擎存在一个顽固的问题,即当多层透明平面重叠时,会根据摄像机视角混淆计算顺序,无法准确判断哪个平面在前面、哪个在后面。 如果Alpha平面之间的距离过近,或者发束网格相互交错,就会根据摄像机角度的不同,导致透明面闪烁的排序问题。建模时请确保Alpha平面网格之间保持最低限度的物理距离。

ㅣ✔️ 紧贴身体及变形类道具(SOX、GLOVE、NAIL、TAIL、WING、SHOULDER)
- 最大三角形数量
- SHOULDER(肩饰):最多 5,000 个三角面
- GLOVE(手套)/ BAG(包):最多 4,500 个三角面
- WING(翅膀):最多 4,000 个三角面
- SOX(袜子):最多 3,500 个三角面
- TAIL(尾巴):最多 2,000 个三角面
- NAIL(美甲):最多 1,500 个三角面
- 建模指南
- 手指拓扑同步:在建模手套(GLOVE)和指甲(NAIL)时,手指关节的弯曲位置必须与Zepeto默认引导模型中手指关节(Finger Joint)的偏移坐标完全吻合,不得有丝毫偏差。请确保每个关节至少保留3条边。
- 接触面优化:指甲艺术及手套内侧等与手指皮肤完全接触、物理上100%嵌入的内侧面,请为优化目的将其完全删除。

ㅣ✔️ 可佩戴类饰品(SH、HEADWEAR、EYEMASK、GLASSES、BRACELET、NECKLACE、EARRING、RING)
- 最大三角面数
- SH(鞋子)/ HEADWEAR(头饰):最多 4,000 个三角面
- EYEMASK(面罩):最多 3,000 个三角面
- GLASSES ~ RING(眼镜、手链、项链、耳环、戒指):最多 2,000 个三角面
- 建模指南
- 圆柱形建模优化:制作戒指(RING)、手镯(BRACELET)、眼镜框(GLASSES)等曲线型刚体道具时,请将初始圆柱形基本图形的侧面数量(Sides)限制在6~8个之间,以构建低多边形结构。 不足的曲面轮廓需通过柔和边缘和法线贴图进行补全。

ㅣ✔️ 特殊体型类(MASK、BODY)
这是难度最高的技术类别,需要完全覆盖基础角色模型的固有外观(头部及全身网格),或引导体型发生变化。
- 最大三角数
- BODY(特殊体型躯干):最多 10,000 个三角面
- MASK(特殊体型面部):最多 5,000 个三角面
- 建模指南
- 颈部接缝线(Neck Seam Line)匹配:面部蒙版(MASK)与身体(BODY)相接的颈部边界区域,其顶点索引号、绝对3D坐标值以及顶点法线方向,必须与Zepeto基础身体建模完全一致。若该焊接线偏差哪怕仅0.001mm,都会导致颈部分离并出现缝隙,从而产生瑕疵。
参考)用于商品优化的各类别数据
所有数据均以上限(Maximum Limit)为基准。
*除DR(套装)外的所有类别均以1张贴图为基准。
| | Max Triangle Count (Tris) 推荐 / MAX | Max Texture Resolution (Map size) 推荐 / MAX | Max Material (允许按属性添加额外着色器) |
|---|---|---|---|---|
DR | One-piece outfit | 10,000 | 512x512 (2 images) | 4(推荐) |
TOP | Top | 6,000 | 512x512 | 3(推荐) |
OTR | Outerwear | 6,000 | 512x512 | 3(推荐) |
BTM | Pants, Skirts | 5,000 | 512x512 | 3(推荐) |
SOX | Socks | 3,500 / 4500 | 256x256 / 512x512 | 3(推荐) |
SH | Shoes | 4,000 | 256x256 / 512x512 | 3(推荐) |
F_HAIR | Women's Hair | 10,000 | 256x256 / 512x512 | 3(推荐) |
M_HAIR | Men's Hair | 10,000 | 256x256 / 512x512 | 3(推荐) |
HEADWEAR | Headwear | 4,000 | 256x256 / 512x512 | 3(推荐) |
SHOULDER | Shoulder | 5,000 | 512x512 | 3(推荐) |
GLASSES | Glasses | 2,000 | 256x256 / 512x512 | 3(推荐) |
BRACELET | Bracelet | 2,000 | 256x256 / 512x512 | 3(推荐) |
NECKLACE | Necklace | 2,000 | 256x256 / 512x512 | 3(推荐) |
EARRING | Earrings | 2,000 | 256x256 / 512x512 | 3(推荐) |
BAG | Bag | 4,500 | 256x256 / 512x512 | 3(推荐) |
GLOVE | Glove | 4,500 | 256x256 / 512x512 | 3(推荐) |
RING | Ring | 2,000 | 256x256 / 512x512 | 3(推荐) |
NAIL | Nail Art | 1,500 / 2000 | 256x256 / 512x512 | 3(推荐) |
EYEMASK | Mask | 3,000 | 512x512 | 3(推荐) |
WING | Wing | 4,000 | 512x512 | 3(推荐) |
MASK | Special Face Shapes | 5,000 | 512x512 | 3(推荐) |
BODY | Special Body Types | 10,000 | 512x512 | 3(推荐) |
TAIL | Tail | 2,000 / 3000 | 256x256 / 512x512 | 3(推荐) |