Browse Source

Editor: Fixed collada.

Mr.doob 10 years ago
parent
commit
f56a873a67
2 changed files with 10 additions and 16 deletions
  1. 4 6
      editor/js/Loader.js
  2. 6 10
      examples/js/loaders/ColladaLoader.js

+ 4 - 6
editor/js/Loader.js

@@ -113,14 +113,12 @@ var Loader = function ( editor ) {
 					var xml = parser.parseFromString( contents, 'text/xml' );
 					var xml = parser.parseFromString( contents, 'text/xml' );
 
 
 					var loader = new THREE.ColladaLoader();
 					var loader = new THREE.ColladaLoader();
-					loader.parse( xml, function ( collada ) {
+					var collada = loader.parse( xml );
 
 
-						collada.scene.name = filename;
+					collada.scene.name = filename;
 
 
-						editor.addObject( collada.scene );
-						editor.select( collada.scene );
-
-					} );
+					editor.addObject( collada.scene );
+					editor.select( collada.scene );
 
 
 				}, false );
 				}, false );
 				reader.readAsText( file );
 				reader.readAsText( file );

+ 6 - 10
examples/js/loaders/ColladaLoader.js

@@ -96,6 +96,10 @@
 				loader.setCrossOrigin( this.crossOrigin );
 				loader.setCrossOrigin( this.crossOrigin );
 				loader.load( url, function ( text ) {
 				loader.load( url, function ( text ) {
 
 
+					var parts = url.split( '/' );
+					parts.pop();
+					baseUrl = ( parts.length < 1 ? '.' : parts.join( '/' ) ) + '/';
+
 					var xmlParser = new DOMParser();
 					var xmlParser = new DOMParser();
 					var responseXML = xmlParser.parseFromString( text, "application/xml" );
 					var responseXML = xmlParser.parseFromString( text, "application/xml" );
 					onLoad( scope.parse( responseXML, url ) );
 					onLoad( scope.parse( responseXML, url ) );
@@ -116,18 +120,10 @@
 
 
 		},
 		},
 
 
-		parse: function( doc, url ) {
+		parse: function( doc ) {
 
 
 			COLLADA = doc;
 			COLLADA = doc;
 
 
-			if ( url !== undefined ) {
-
-				var parts = url.split( '/' );
-				parts.pop();
-				baseUrl = ( parts.length < 1 ? '.' : parts.join( '/' ) ) + '/';
-
-			}
-
 			this.parseAsset();
 			this.parseAsset();
 			this.setUpConversion();
 			this.setUpConversion();
 			images = this.parseLib( "library_images image", _Image, "image" );
 			images = this.parseLib( "library_images image", _Image, "image" );
@@ -2816,7 +2812,7 @@
 
 
 									var image = images[ surface.init_from ];
 									var image = images[ surface.init_from ];
 
 
-									if ( image ) {
+									if ( image && baseUrl ) {
 
 
 										var url = baseUrl + image.init_from;
 										var url = baseUrl + image.init_from;