Three.js GLTFLoader在节点服务器上不起作用

时间:2018-10-09 16:02:12

标签: javascript three.js aframe

通过提供函数的URL,而不是从服务器加载glb / gltf文件:

// Instantiate a loader
var loader = new THREE.GLTFLoader();

// Load a glTF resource
loader.load(
    // resource URL
    url,
    // called when the resource is loaded
    function ( gltf ) {
      //do something with the loaded file
    },
);

我想在节点服务器上而不是在客户端上使用此加载器,因为遍历几何图形以获取所有材质在服务器上更容易完成。 但是,似乎此加载程序是专门在客户端运行的(不确定),因此,一旦尝试在服务器上运行它,就会出现类似的错误:

  

TypeError:XMLHttpRequest不是构造函数

这很有意义,因为未为节点定义XMLHttprequest。 但是主要的问题是如何通过提供服务器上目录的路径而不是执行不需要的XMLHttp请求,来使Three.js FileLoader简单地加载文件?

如果问题不太清楚,请多谢并深表歉意。关于stackoverflow的第一篇文章

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Node-XHR https://github.com/driverdan/node-XMLHttpRequest将XHR修补到Node。

但是您将其设置为本地,则可以尝试new THREE.GLTFLoader().parse()