我们有一些遗留的WebGL 3D对象是几年前开发的,我们想要更新它们。开发人员当时设置了代码,以便它能够读取二进制数据(一个.bin文件)。从该二进制文件中,几何数据将被JavaScript代码解析;我认为部分使用Dataview.js。我们不再有这种专业知识,所以我们真的想把这些遗留的WebGL对象移到类似gltf或fbx这样的东西上,这样我们的3D/图形人员就可以更容易地修改了。
我们还没能“打开”二进制文件。因此,我正在研究我们必须将..bin转换为我们可以使用的东西的选项。
发布于 2022-06-29 15:57:09
不幸的是,没有像WebGL对象这样的东西。而且,如果不知道项目是否使用了另一个库(如threejs或原始WebGL ),就很难推断对象是如何处理的。
如果使用了三个be,它很可能被转换为threejs几何格式,在这种情况下,它可以导出到一个gltf中。但仍需进行大量调查,才能找到触发这一出口的地方。
发布于 2022-09-28 13:22:57
你能把WebGL 3D对象转换成3D格式(fbx,gltf等)吗?
您可以使用调试器和覆盖函数(如drawElements、drawArrays、纹理绑定等)来捕获webgl程序使用的所有数据。
现在它取决于着色器对给定数据做什么。对于非常简单的着色器,您提取的数据很可能只是转换成模型。
一些像sketchfab这样的销售3d模型的网站通过增加着色器的复杂性来混淆数据。某些代码不需要存在于应用程序逻辑中,它只是为了防止数据提取。然后,如果对从缓冲区提取的数据应用着色器转换,则模型仍然可以被分割。只是更难。
https://stackoverflow.com/questions/72804267
复制相似问题