浏览代码

Editor: Support loading of 3MF files.

Mugen87 5 年之前
父节点
当前提交
6365c6f569
共有 2 个文件被更改,包括 16 次插入0 次删除
  1. 15 0
      editor/js/Loader.js
  2. 1 0
      editor/sw.js

+ 15 - 0
editor/js/Loader.js

@@ -4,6 +4,7 @@
 
 
 import * as THREE from '../../build/three.module.js';
 import * as THREE from '../../build/three.module.js';
 
 
+import { ThreeMFLoader } from '../../examples/jsm/loaders/3MFLoader.js';
 import { AMFLoader } from '../../examples/jsm/loaders/AMFLoader.js';
 import { AMFLoader } from '../../examples/jsm/loaders/AMFLoader.js';
 import { ColladaLoader } from '../../examples/jsm/loaders/ColladaLoader.js';
 import { ColladaLoader } from '../../examples/jsm/loaders/ColladaLoader.js';
 import { DRACOLoader } from '../../examples/jsm/loaders/DRACOLoader.js';
 import { DRACOLoader } from '../../examples/jsm/loaders/DRACOLoader.js';
@@ -105,6 +106,20 @@ var Loader = function ( editor ) {
 
 
 				break;
 				break;
 
 
+			case '3mf':
+
+				reader.addEventListener( 'load', function ( event ) {
+
+					var loader = new ThreeMFLoader();
+					var object = loader.parse( event.target.result );
+
+					editor.execute( new AddObjectCommand( editor, object ) );
+
+				}, false );
+				reader.readAsArrayBuffer( file );
+
+				break;
+
 			case 'amf':
 			case 'amf':
 
 
 				reader.addEventListener( 'load', function ( event ) {
 				reader.addEventListener( 'load', function ( event ) {

+ 1 - 0
editor/sw.js

@@ -18,6 +18,7 @@ const assets = [
 	'../examples/js/libs/draco/draco_encoder.js',
 	'../examples/js/libs/draco/draco_encoder.js',
 	'../examples/js/libs/draco/draco_wasm_wrapper.js',
 	'../examples/js/libs/draco/draco_wasm_wrapper.js',
 
 
+	'../examples/jsm/loaders/3MFLoader.js',
 	'../examples/jsm/loaders/AMFLoader.js',
 	'../examples/jsm/loaders/AMFLoader.js',
 	'../examples/jsm/loaders/ColladaLoader.js',
 	'../examples/jsm/loaders/ColladaLoader.js',
 	'../examples/jsm/loaders/DRACOLoader.js',
 	'../examples/jsm/loaders/DRACOLoader.js',