未验证 提交 0e9e5e5d 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #14704 from mrdoob/editor

Editor: Support zipped glb and gltfs.
......@@ -472,7 +472,7 @@ var Loader = function ( editor ) {
var zip = new JSZip( contents );
// BLOCKS
// Poly
if ( zip.files[ 'model.obj' ] && zip.files[ 'materials.mtl' ] ) {
......@@ -482,6 +482,52 @@ var Loader = function ( editor ) {
}
//
zip.filter( function ( path, file ) {
// GLB
if ( file.name.search( /\.glb$/i ) > - 1 ) {
var loader = new THREE.GLTFLoader( manager );
loader.parse( file.asArrayBuffer(), '', function ( result ) {
editor.execute( new AddObjectCommand( result.scene ) );
} );
}
// GLTF
if ( file.name.search( /\.gltf$/i ) > - 1 ) {
var manager = new THREE.LoadingManager();
manager.setURLModifier( function ( url ) {
var file = zip.files[ url ];
if ( file ) {
var blob = new Blob( [ file.asArrayBuffer() ], { type: 'application/octet-stream' } );
return URL.createObjectURL( blob );
}
} );
var loader = new THREE.GLTFLoader( manager );
loader.parse( file.asText(), '', function ( result ) {
editor.execute( new AddObjectCommand( result.scene ) );
} );
}
} );
}, false );
reader.readAsBinaryString( file );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册