我正在尝试在浏览器中渲染 DRC 文件,因为压缩结果比 OBJ 文件好得多。我可以在浏览器中渲染 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 对象,但实际是黑色的。这意味着仅显示几何而不显示颜色/材质/纹理