我正在为我的网站加载一个地球仪的三维模型,下载需要很长时间。
我正在使用GLTFLoader
在React
中加载模型。
loadModals() {
const loader = new GLTFLoader()
loader.load(
"/models/scene.gltf",
gltf => {
object = gltf.scene.children[0]
scene.add(object)
console.log("Model loaded")
},
xhr => {
console.log("Model loading...")
},
error => {
console.log("Model failed to load", error)
}
)
}
与三维模型相关的文件包括:
图像的纹理文件夹(58.7MB(
scene.bin(1.2MB(
场景.gltf(10KB(
根据研究,如果模型附带.bin
文件,则意味着gltf
不是压缩的二进制格式。然而,在线查看gltf-pipeline
等工具时,我不确定在存在纹理文件夹和scene.bin
等单独文件时如何实现压缩。
我对three.js和网络实现非常陌生,所以任何建议都将不胜感激。
谢谢!
如果你只需要压缩你的纹理,有多个图像压缩网站。
为什么不使用.glb格式?GLB文件格式是GLTF的二进制形式,它包括纹理,而不是将它们作为外部图像引用。
对不起,如果我不帮你。
由于我还没有收到任何答案,我的临时解决方案是首先使用Photoshop优化纹理文件夹中的图像。
但这是以外观质量较低的模型为代价的。