1

我正在尝试在我的 gatsby 项目中添加一个threejs 场景。

在流了一些血之后,我让它在开发和构建中正常工作,但是在提供应用程序时,我得到了 3 次以下错误:

TypeError: (void 0) is not a constructor

我通过日志确定使用 OBJLoader 构造函数时出现错误。我怎样才能让它工作?

我基本上是这样设置的:

import React from "react";
import * as THREE from "three";
import * as OBJLoader from "three-obj-loader"

OBJLoader(THREE);

const SceneComponent = (}) => {

   const manager = new THREE.LoadingManager();

   manager.onLoad = () => {
     animate()
   };

  const loader = new THREE.OBJLoader(manager).load(`PATH`, (spoon) => {
    scene.add(spoon)
  }
 ...
}

4

1 回答 1

1

如果有人感兴趣:我通过切换到“three-gltf-loader”并将网格转换为“.glb”解决了这个问题,这似乎是最佳实践,因为它也是文件大小的一半。

于 2019-12-31T16:29:18.740 回答