Bladeren bron

Editor: Added support for loading DRACO files.

Mr.doob 5 jaren geleden
bovenliggende
commit
d6ab143a75
2 gewijzigde bestanden met toevoegingen van 27 en 0 verwijderingen
  1. 24 0
      editor/js/Loader.js
  2. 3 0
      editor/sw.js

+ 24 - 0
editor/js/Loader.js

@@ -105,6 +105,30 @@ var Loader = function ( editor ) {
 
 				break;
 
+			case 'drc':
+
+				reader.addEventListener( 'load', function ( event ) {
+
+					var contents = event.target.result;
+
+					var loader = new THREE.DRACOLoader();
+					loader.setDecoderPath( '../examples/js/libs/draco/' );
+					loader.decodeDracoFile( contents, function ( geometry ) {
+
+						var material = new THREE.MeshStandardMaterial();
+
+						var mesh = new THREE.Mesh( geometry, material );
+						mesh.name = filename;
+
+						editor.execute( new AddObjectCommand( editor, mesh ) );
+
+					} );
+
+				}, false );
+				reader.readAsArrayBuffer( file );
+
+				break;
+
 			case 'fbx':
 
 				reader.addEventListener( 'load', function ( event ) {

+ 3 - 0
editor/sw.js

@@ -12,6 +12,9 @@ const assets = [
 	'../examples/js/libs/chevrotain.min.js',
 	'../examples/js/libs/jszip.min.js',
 	'../examples/js/libs/inflate.min.js',
+	'../examples/js/libs/draco/draco_decoder.js',
+	'../examples/js/libs/draco/draco_decoder.wasm',
+	'../examples/js/libs/draco/draco_wasm_wrapper.js',
 
 	'../examples/js/loaders/AMFLoader.js',
 	'../examples/js/loaders/ColladaLoader.js',