当前位置: 首页 > 知识库问答 >
问题:

如何加载mtl文件与gltf在反应三光纤

孙辰阳
2023-03-14

我从一个网站下载了一组文件,并在blender中导出了glb、gltf和mtl文件。我可以让glb或gltf文件显示在反应三纤维场景,但我不知道如何让纹理显示正确。我遇到了几个演示,但它们看起来很旧,什么不起作用。

下面是我如何加载文件。

import desk from '../../assets/desk.gltf'; // or .glb file

const [gltf, set] = useState();
useMemo(() => new GLTFLoader().load(desk, set), []);
return gltf ? <primitive object={gltf.scene} scale={[0.05, 0.05, 0.05]} position={[0,0,1]} 
rotation={[Math.PI/2,Math.PI,0]}/> : null

共有1个答案

夹谷琨
2023-03-14

恐怕您混淆了两个主题。MTL文件与OBJ格式相关。这意味着资产几何的可视化方面存储在一个或多个外部MTL文件中。

glTF没有单独的文件。物料定义直接在glTFJSON清单中定义。因此,加载实际glTF资源就足以加载材质定义。

 类似资料:
  • 我已成功地将gltf对象加载到我的react three fiber场景中。现在,我想将材质附着到模型。在这个模型上可以使用标准材料吗?以下是我尝试过的: 常量形状=(道具)=

  • 一个用于加载 .mtl 资源的加载器,由 OBJLoader 在内部使用。 材质模版库(MTL)或 .MTL 文件格式是 .OBJ 的配套文件格式, 用于描述一个或多个 .OBJ 文件中物体表面着色(材质)属性。 构造函数 MTLLoader( loadingManager : LoadingManager ) manager — 加载器使用的loadingManager(加载管理器),默认值是T

  • 我使用Laravel创建了一个Restful API,该API如下: 这是我的下载代码: 它在邮递员中工作,也在浏览器中工作,直接下载文件,但使用react。js,它不工作,这是我在react中的代码: 我在按钮中调用这个函数,如下所示: id已更正,我由此确定,我的问题是单击此按钮时如何下载文件。。丹。。。

  • 我正在使用webpack管理reactjs项目。我想通过webpack

  • 用于载入glTF 2.0资源的加载器。 glTF(gl传输格式)是一种开放格式的规范 (open format specification), 用于更高效地传输、加载3D内容。该类文件以JSON(.glft)格式或二进制(.glb)格式提供, 外部文件存储贴图(.jpg、.png)和额外的二进制数据(.bin)。一个glTF组件可传输一个或多个场景, 包括网格、材质、贴图、蒙皮、骨架、变形目标、动

  • 我正在尝试使用GLTFJSX将指针事件添加到react three fiber中加载的GLTF文件中。然而,指针事件不会触发,我也不知道为什么。 我已经尝试过将相同的事件添加到其他类似的代码沙盒中,它是有效的——那么,如果我做的基本上是相同的事情,为什么在本例中它不起作用呢? https://codesandbox.io/s/hopeful-brook-h8rhs?file=/src/App.js