gpt4 book ai didi

javascript - 仅将 Object3D 中包含的网格导出到 Three.js 中的 GLTF

转载 作者:行者123 更新时间:2023-11-29 23:20:15 25 4
gpt4 key购买 nike

我进行了很好的搜索,但找不到解决方案:

Three.js 的 GLTFExport 允许在导出器中命名特定对象时将其导出。

我的情况:

我的场景中有随机数量的带有子网格的 Object3D 要导出,但是我已经从我的场景中删除了除了对象及其子网格和显示面部法线方向的助手之外的所有内容,并且我仍然收到错误:

Uncaught Error :THREE.GLTFExporter:无法序列化 userData

以前我没有 Object3D,只有网格本身作为场景的子项,导出工作正常。不幸的是,程序需要在对象中包含网格才能运行,并且文档表明可以导出它们。

谁能想出办法解决这个问题?

最佳答案

userData 是每个 Object3D 上的一个字段,通常设置为 {}。它旨在允许用户(您)将自己的数据存储在 Object3D 或派生类上,而不会弄乱对象的内部结构。您可能在场景中的 object3D 上设置了一些 .userData ..

找出答案的简单方法是 scene.traverse((o)=>{console.log(o.userData)}) 并查看您的任何对象上是否存储了 userData .

您可以在使用 var sceneCopy = scene.clone(true); 导出之前复制场景

然后 sceneCopy.traverse((o)=>{o.userData={};});

然后尝试导出sceneCopy。

尝试一下,如果它不起作用,请返回此处尝试:)

第一个

关于javascript - 仅将 Object3D 中包含的网格导出到 Three.js 中的 GLTF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51006560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com