【发布时间】:2021-01-24 00:42:56
【问题描述】:
我正在尝试使用 https://github.com/mrdoob/three.js/blob/master/examples/jsm/exporters/OBJExporter.js 从 Three.js 场景中导出模型
有些网格是基础网格,有些是 SkinnedMesh,所以我编辑了第 250 行
if ( child instanceof Mesh ) {
到
if ( child instanceof Mesh || child instanceof SkinnedMesh ) {
我可以看到导出文件中的所有网格,但蒙皮网格位于原点,位置和方向错误。 如何编辑导出器以使 SkinnedMeshes 也正确,为什么会发生这种情况?
编辑: 我尝试使用答案中提出的 STL 导出器,但它仍然无法导出姿势,因为它检查了三个属性:
if(typeof object.obj.geometry.attributes.skinIndex !== 'undefined' && typeof object.obj.geometry.attributes.skinWeight !== 'undefined' && typeof object.obj.skeleton !== 'undefined')
除了“object.obj.skeleton”之外都是未定义的。 我可以在 SkinnedMesh 对象中看到的属性是“instanceIndex”、“normal”、“position”和“uv”
编辑 2:
抱歉,我误读了输出日志。有一些网格具有相当的属性,这意味着实际名称是“skinWeight0”和“skinIndex0”。 我尝试将名称更改为代码中的名称,并且可以成功打印这些数组,但是导出的模型完全一团糟:
【问题讨论】:
标签: javascript three.js mesh 3d-model