Просмотр исходного кода

Editor: Added usdz files support.

Mr.doob 2 лет назад
Родитель
Сommit
ca1916b40e
3 измененных файлов с 25 добавлено и 2 удалено
  1. 22 0
      editor/js/Loader.js
  2. 1 0
      editor/sw.js
  3. 2 2
      examples/jsm/loaders/USDZLoader.js

+ 22 - 0
editor/js/Loader.js

@@ -656,6 +656,28 @@ function Loader( editor ) {
 
 			}
 
+			case 'usdz':
+
+			{
+
+				reader.addEventListener( 'load', async function ( event ) {
+
+					const contents = event.target.result;
+
+					const { USDZLoader } = await import( '../../examples/jsm/loaders/USDZLoader.js' );
+
+					const group = new USDZLoader().parse( contents );
+					group.name = filename;
+
+					editor.execute( new AddObjectCommand( editor, group ) );
+
+				}, false );
+				reader.readAsArrayBuffer( file );
+
+				break;
+
+			}
+
 			case 'vox':
 
 			{

+ 1 - 0
editor/sw.js

@@ -50,6 +50,7 @@ const assets = [
 	'../examples/jsm/loaders/SVGLoader.js',
 	'../examples/jsm/loaders/TGALoader.js',
 	'../examples/jsm/loaders/TDSLoader.js',
+	'../examples/jsm/loaders/USDZLoader.js',
 	'../examples/jsm/loaders/VOXLoader.js',
 	'../examples/jsm/loaders/VRMLLoader.js',
 	'../examples/jsm/loaders/VTKLoader.js',

+ 2 - 2
examples/jsm/loaders/USDZLoader.js

@@ -100,9 +100,9 @@ class USDZLoader extends Loader {
 
 		if ( file === undefined ) {
 
-			console.warn( 'THREE.USDZLoader: No usda file found.' );
+			console.warn( 'THREE.USDZLoader: No usda file found.', zip );
 
-			return {};
+			return new Group();
 
 		}