0

我正在尝试在浏览器中渲染 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 对象,但实际是黑色的。这意味着仅显示几何而不显示颜色/材质/纹理

4

1 回答 1

0

我不知道 DRC 格式是什么,但 DRACOLoader 是您传递给 GLTFLoader 的插件。您可以使用 GLTF 格式而不是 DRC 吗?

什么是刚果民主共和国?

阅读这些:

https://threejs.org/examples/webgl_loader_gltf.html

https://www.khronos.org/blog/gltf-2.0-ecosystem-advancement

https://threejs.org/docs/#examples/loaders/GLTFLoader

于 2019-01-08T10:45:30.957 回答