由于与OBJ文件相比更好的压缩结果,我正在尝试在浏览器中呈现DRC文件。我可以在浏览器中呈现DRC文件,但不能向其中添加MTL文件。我的每个对象都有一个DRC和一个MTL,我想在浏览器中同时加载/渲染。
我首先尝试使用(OBJLoader_MTLLoader_example)https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_obj_mtl.html,但它似乎不适用于DRACOLoader。
然后我尝试了在 https://github.com/google/draco/issues/197,但给出的错误是未定义setMaterials函数(在MTLLoader.js中),但实际上是。请帮忙。
<script
src="https://cdn.rawgit.com/mrdoob/three.js/dev/build/three.min.js">
</script>
<script src="DDSLoader.js"></script>
<script src="DRACOLoader.js"></script>
<script src="MTLLoader.js"></script>
<script src="geometry_helper.js"></script>
...
// MTL加载程序
THREE.Loader.Handlers.add( /\.dds$/i, new THREE.DDSLoader() );
new THREE.MTLLoader()
.load( './bed.mtl', function ( materials ) {
materials.preload();
new THREE.DRACOLoader()
.setMaterials( materials )
} );
... scene.add(几何,材料);
链接到整个文件:https://pastebin.com/8FSUuSY1
我希望输出彩色3D对象,但实际为黑色。这意味着仅显示几何图形,而不显示颜色/材料/纹理
答案 0 :(得分:0)
我不知道DRC格式是什么,但是DRACOLoader是您传递给GLTFLoader的插件。您可以使用GLTF格式代替DRC吗?
什么是DRC?
阅读这些内容:
https://threejs.org/examples/webgl_loader_gltf.html