:::info
- 如果你需要在小程序中使用,还需额外遵循的规范:https://www.yuque.com/kivicube/manual/mp-specs
:::
| 类别 | 规范 | 教程 |
| —- | —- | —- |
| 模型格式 |
- 支持glb、gltf、fbx、obj格式
- 强烈建议使用glb格式上传
- 上传的格式支持:zip
- 上传文件的大小限制:30M以内
- 强烈建议上传的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
| | 灯光与环境 |
- 支持平行光、环境光
- 支持环境贴图
|
- 如何设置平行光与环境光?
- 什么是环境贴图?如何设置环境贴图?
|