我目前正在从静态文件服务器提供的文件中加载GLTF文件。
import * as THREE from 'three'
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
var loader = new GLTFLoader();
loader.load(
'http://localhost:1234/Assembly_PROD.gltf',
function (gltf) {
// Do stuff with loaded model
},
function (xhr) {
// process progress
},
function (err) {
// process error..
}
);我现在转到一个API服务器,它直接以文本的形式提供GLTF文件。如何直接从内容加载GLTF文件(而不是通过文件url)?
发布于 2020-02-07 18:31:03
three.js editor允许拖放glTF文件。它使用File接口读取文件内容,然后使用相应的数据直接调用GLTFLoader.parse()。
reader.addEventListener( 'load', function ( event ) {
var contents = event.target.result;
var loader = new GLTFLoader();
loader.parse( contents, '', function ( result ) {
var scene = result.scene;
// more code
} );
}, false );
reader.readAsArrayBuffer( file );在研究代码时,您可以看到ArrayBuffer的一个实例被传递到GLTFLoader.parse()中。但是,此方法也接受字符串数据。
three.js R113
https://stackoverflow.com/questions/60110764
复制相似问题