gpt4 book ai didi

javascript - 无法在 ThreeJS 中显示对象。出现错误 : THREE. OBJLoader:意外行: "usemap glass"

转载 作者:行者123 更新时间:2023-12-02 22:27:44 25 4
gpt4 key购买 nike

在 Angular 8 应用程序中运行 Threejs 时出现此错误。我只是想加载一个对象。对象和 Material 文件从 Kenney assets 下载。我查看了官方的 Threejs 站点示例,就像 this example ,以及一些其他在线示例。代码是:

import * as THREE from "three";
import {MTLLoader} from "three/examples/jsm/loaders/MTLLoader";
import {OBJLoader} from "three/examples/jsm/loaders/OBJLoader";

    new MTLLoader()
.load('./../../../../../assets/Models/buildingCorridorOpen.mtl', function (materials) {
materials.preload();
new OBJLoader()
.load('./../../../../../assets/Models/buildingCorridorOpen.obj', function (mesh) {
mesh.position.set(0, 0.5, 0);
scene.add(mesh);
});
});

完整的错误如下:

core.js:6014 ERROR Error: THREE.OBJLoader: Unexpected line: "usemap _defaultMat"
at OBJLoader.parse (OBJLoader.js:633)
at Object.onLoad (OBJLoader.js:402)
at XMLHttpRequest.<anonymous> (three.module.js:35663)
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at Object.onInvokeTask (core.js:39680)
at ZoneDelegate.invokeTask (zone-evergreen.js:390)
at Zone.runTask (zone-evergreen.js:168)
at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:465)
at invokeTask (zone-evergreen.js:1603)
at XMLHttpRequest.globalZoneAwareCallback (zone-evergreen.js:1640)

项目结构如下:

ClientApp
|_____src
| |____component
| |______ev
| |___factory
| |____js
| |__application.js
|____assets
| |___Models
| |____buildingCorridorOpen.mtl
| |____buildingCorridorOpen.obj

我尝试按以下方式导入加载程序,但结果是相同的:

import {MTLLoader} from "three-obj-mtl-loader";
import {OBJLoader} from "three-obj-mtl-loader";

我也尝试过 .setpath() 然后 load(),但结果是相同的,相同的错误,我使用的 npm 版本:6.12.1,节点版本:12.13.1。

与此问题相关的唯一问题是 this 中的问题堆栈溢出问题。

JavaScript 渲染得很好,除此之外,所有其他网格(简单的网格,例如 CubeGeometry)都出现在正确的位置,除了这个。

任何帮助,我们将不胜感激:)

最佳答案

R111 开始,THREE.OBJLoader 现在能够解析包含 usemap 渲染标识符的 OBJ 文件。然而,标识符将被忽略,因为纹理通常是在 MTL 文件中定义的。请注意,usemap 是旧式的 Wavefront 纹理引用方法。

您提到的资源现在应该可以正确加载。

相关公关:https://github.com/mrdoob/three.js/pull/18000

关于javascript - 无法在 ThreeJS 中显示对象。出现错误 : THREE. OBJLoader:意外行: "usemap glass",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59010593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com