跳转到内容

制作规范

INFO

  • 如果你需要在小程序中使用,还需额外遵循的规范:../mp-specs
类别规范教程
模型格式+ 支持glb、gltf、fbx、obj格式
+ 强烈建议使用glb格式上传
+ 上传的格式支持:zip
+ 上传文件的大小限制:基础版(30M以内)、个人版(50M以内)、高级版(100M以内)、企业版(100M 以内)
+ 强烈建议上传的glb、gltf、fbx、obj文件在10M内,5M更佳
+ 如何将模型压缩为zip并上传到Kivicube平台?
+ 如何使用Kivicube AR模型编辑器直接上传到平台?
+ 为什么强烈建议用户上传的模型文件越小越好?TODO
+ 为什么强烈建议使用glb格式上传:fbx、obj上传到平台后只能是默认材质,有时候会丢失贴图;gltf格式会有太多的文件,不便于AR加载
模型导出与转换+ 推荐在建模软件(如3ds max、maya、blender、cinema 4d等)中导出fbx,然后转换为glb;
+ 也可以在建模软件中直接导出glb;
+ 也可以使用Unity直接导出glb;
+ 如何在常见建模软件导出fbx格式,然后转换为glb格式?
+ 如何设置模型材质?
+ 如何在常见建模软件直接导出glb格式?
+ 非fbx格式如何转换为glb格式?TODO
+ 如何用Unity导出glb格式?
模型制作+ 单个模型网格数(mesh)≤10,整个场景≤50;建议单个模型网格数(mesh)≤5,整个场景≤10
+ 单个模型三角形数≤50,000,整个场景≤200,000;建议单个模型三角形数≤30,000,整个场景≤60,000
+ 模型、模型节点、模型网格名称仅支持字母、数字、英文下划线、英文短横线,不支持中文、空格以及特殊字符
+ 模型中的各个对象确保命名不重复
+ 使用四边面进行建模,特殊情况下可以时候使用三角面
+ 需要采用多边形建模方式
+ 模型的Scale(大小)参数不能为零或负数
+ 将模型的中心点放到模型的几何中心或底部中心,然后将中心点放于坐标原点
+ 没有孤立的顶点
+ 没有重合的顶点
+ 没有重面与共面
+ 设置正确的法线
+ 移除模型中的所有未使用的对象(如空对象、隐藏的对象以及辅助对象等)
+ 模型的变换需要重置,具体是Scale(大小)为1、旋转(rotation)为0,位置(Position)为0
+ 非特殊情况下,尽量不让模型产生极点
+ 合理的拓扑结构,即布线合理规范、均匀
+ 为了使用具有透明组件的资产获得更好的渲染结果,请为透明和不透明部件使用单独的网格和材质。
+ 重置任何变换数据、构建历史和修改器堆栈以避免导出差异
+ 建议制作的模型保持与真实世界物体同等大小
+ 什么是模型网格?为什么数量要尽可能的少?怎样去减少它?TODO
+ 如何查看模型三角形数量?怎样减少三角形数?TODO
+ 为什么建议使用四边面建模?
+ 为什么不允许四边面以上的方式建模?
+ 什么是多边形建模?
+ 如何将模型的中心点放到模型的几何中心或底部中心?如何将中心点归到坐标原点?
+ 什么是孤立的顶点?怎样解决孤立的 顶点?
+ 什么是重合的顶点?怎样解决重合的顶点?
+ 什么是重面与共面?怎样解决重面与共面?
+ 怎样发现并解决错误的法线?TODO
+ 如何重置模型的变换?
+ 什么是极点?
+ 什么是拓扑结构?
+ 使用TurboSquid Tools工具检查模型规范
+ 为什么要保持模型的大小与真实世界物体大小匹配?
+ 如何将模型的大小与真实世界物体大小匹配?
展分UV+ 模型上无明显的纹理拉伸
+ UV接缝隐藏在模型较不可见的区域
+ 无UV重叠
+ 贴铺展开来的UV尽可能的展平整,充分利用贴图空间
+ 暂不支持多个UV集
+ 暂不支持重复纹理
+ 什么是纹理拉伸?TODO
+ UV接缝没有处理好会怎样?如何处理好UV接缝?TODO
+ 为什么不能有UV重叠?如何处理重叠UV?
+ 如何合理的UV布局?
+ UV Orientation & Distortion Artifacts
+ Atlas 映射 UV
材质与贴图+ 单个模型材质数≤10,整个场景≤40;建议单个模型材质数≤5,整个场景≤10
+ 单个模型贴图数≤10,整个场景≤40;建议单个模型贴图数≤5,整个场景≤10
+ 模型材质、贴图名称仅支持字母、数字、英文下划线、英文短横线,不支持中文、空格以及特殊字符
+ 材质与贴图确保命名不重复
+ 贴图格式仅支持png、jpg、jpeg
+ 贴图最大尺寸为2048x2048,建议贴图尺寸为2的幂次方(包括2、4、8、16、32、64、128、256、512、1024、2048),请注意当模型的UV设置为重复模式(Repeat)时,在小程序中使用时,贴图尺寸宽高都必须为2的幂次方
+ 建议使用图片压缩软件压缩贴图大小
+ 支持PBR材质(包括Metallic-Roughness与Specular-Glossiness)
+ 支持Unlit材质
+ 如何查看模型材质数?怎么样去减少它?TODO
+ 如何查看模型贴图数?怎么样去减少它?TODO
+ 如何选择合理的贴图格式?TODO
+ 如何将其它贴图格式(如常见的gif、tga、dds、psd、tif、bmp、exr、hdr)转换为支持的格式?
+ 如何合理的压缩模型贴图?
+ 什么是PBR材质?如何为模型设置PBR材质?如何为PBR材质制作贴图?TODO
+ 什么是Unlit材质?如何为模型设置Unlit材质?如何为Unlit材质制作贴图?TODO
+ 未来会支持那些更多的材质?TODO
动画制作+ 单个模型动画数≤10,整个场景≤40;建议单个模型动画数≤5,整个场景≤10
+ 单个模型骨骼数≤80,整个场景≤160;建议单个模型骨骼数≤60,整个场景≤120
+ 单个模型变形数≤50,整个场景≤100;建议单个模型变形数≤30,整个场景≤60
+ 模型骨骼、变形、动画名称仅支持字母、数字、英文下划线、英文短横线,不支持中文、空格以及特殊字符
+ 动画名称、变形、骨骼确保命名不重复
+ 支持Transform动画骨骼动画变形动画,暂不支持顶点动画
+ 目前Blender 3.0+对变形动画导出存在问题,建议使用Blender 2.9版本
+ 顶点骨骼影响数小于等于4(skin时每一个模型点可被影响的骨骼数上限)
+ 动画的帧率建议为30FPS
+ 制作动画时,模型网格、骨骼不能缩放到零或负值
+ 骨骼名称请勿命名为root
+ 总的根骨骼不能带动画,如果有动画在根骨上,那就必须给已经带了动画的根骨再绑定一个空的骨骼做父级

+ 如何查看模型动画数?TODO
+ 如何将一整段动画分成多个多段动画?
+ 如何查看模型骨骼数?TODO
+ 如何查看模型变形数?TODO
+ 什么是Transform动画、骨骼动画、变形动画与顶点动画?
+ 如何设置模型为30FPS?TODO
灯光与环境+ 支持平行光、环境光
+ 支持环境贴图
+ 如何设置平行光与环境光?
+ 什么是环境贴图?如何设置环境贴图?

glTF与glb文件上传规范

INFO

如果您的glb或gltf文件上传失败,请参考如下规范

序号规范点处理方式
1暂不支持量化输出glb或gltf请勿量化压缩
2暂不支持meshopt压缩输出glb或gltf请勿meshopt压缩
3暂不支持draco压缩输出glb或gltf请勿draco压缩
4您的文件有Kivicube不支持的必须扩展目前Kivicube支持的扩展如下:
+ KHR_lights_punctual
+ KHR_materials_unlit
+ KHR_texture_transform
+ KHR_materials_pbrSpecularGlossiness
5您的文件有误可能由于您导出gltf或glb的软件出现故障导致导出了错误的文件