Webpack 未能加载缓冲区(.bin)-Three.JS
此问题的所有解决方案似乎都是相同的-将.gltf和.bin文件放在同一文件夹中,然后重试。 我已经这样做了,但我仍然得到这个错误,我不知道为什么Webpack 未能加载缓冲区(.bin)-Three.JS,webpack,three.js,blender,Webpack,Three.js,Blender,此问题的所有解决方案似乎都是相同的-将.gltf和.bin文件放在同一文件夹中,然后重试。 我已经这样做了,但我仍然得到这个错误,我不知道为什么 const loader = new GLTFLoader() let mesh; loader.load( './zippedFolder', function ( gltf ) { mesh = gltf.scene }) 这两个文件位于压缩文件夹中。 有什么想法吗?你不能要求GLTFLoader打开一个.zip文件。它说: GLTF
const loader = new GLTFLoader()
let mesh;
loader.load( './zippedFolder', function ( gltf ) {
mesh = gltf.scene
})
这两个文件位于压缩文件夹中。
有什么想法吗?你不能要求GLTFLoader打开一个
.zip
文件。它说:
GLTF2.0资源的加载程序
。。。不适用于.zip
文件
您必须以自然状态交付.gltf
和.bin
。然而,您可以做的是让您的服务器交付资产,您的浏览器知道这些资产会自动解压缩。但这是在服务器设置中处理的,而不是手动转换为.zip
文件
更新:只需将加载程序指向.gltf
文件,该文件包含对中.bin
文件的引用。您可以在文本编辑器中打开它,您将看到类似这样的内容,buffers.uri
属性具有相应二进制文件的路径,以便加载程序知道在何处查找它:
"buffers" : [
{
"byteLength" : 69340,
"uri" : "alloy.bin"
}
]
这是标准吗?我没有看到任何人这样做的例子-通常他们只有GLTF文件,并且它可以工作是的,请看:
loader.load('DamagedHelmet.gltf',…
它指向一个.gltf
文件,而不是一个压缩的文件夹。看看代码示例,它直接指向扩展名为.gltf
的文件。是的,我检查过了-他们似乎只是在使用一个普通的.gltf文件?我以前使用过一个gltf文件,它工作得很好,这个特定的型号是te告诉我它找不到.bin文件当我尝试这个想法的时候,我知道混乱是从哪里来的。我用解释更新了答案。你只需要将加载程序指向.gltf
,它本身包含对.bin
的引用,这样加载程序就可以找到它。我查看了文件,结果发现我已经找到了它d这是指向bin文件的,但我仍然被告知同样的事情。这是一个网页问题吗?