瀏覽代碼

SceneLoader2/SceneExporter2: Start to ignore values that are equal to default.

Mr.doob 12 年之前
父節點
當前提交
585ae8ef5d
共有 2 個文件被更改,包括 16 次插入7 次删除
  1. 13 3
      examples/js/exporters/SceneExporter2.js
  2. 3 4
      examples/js/loaders/SceneLoader2.js

+ 13 - 3
examples/js/exporters/SceneExporter2.js

@@ -37,7 +37,9 @@ THREE.SceneExporter2.prototype = {
 
 
 				geometries[ geometry.id ] = output.geometries.length;
 				geometries[ geometry.id ] = output.geometries.length;
 
 
-				var data = { name: geometry.name };
+				var data = {};
+
+				if ( geometry.name !== "" ) data.name = geometry.name;
 
 
 				if ( geometry instanceof THREE.PlaneGeometry ) {
 				if ( geometry instanceof THREE.PlaneGeometry ) {
 
 
@@ -136,7 +138,10 @@ THREE.SceneExporter2.prototype = {
 
 
 				materials[ material.id ] = output.materials.length;
 				materials[ material.id ] = output.materials.length;
 
 
-				var data = { name: material.name, data: materialExporter.parse( material ) };
+				var data = {};
+
+				if ( material.name !== "" ) data.name = material.name;
+				data.data = materialExporter.parse( material );
 
 
 				output.materials.push( data );
 				output.materials.push( data );
 
 
@@ -150,7 +155,12 @@ THREE.SceneExporter2.prototype = {
 
 
 		var parseObject = function ( object ) {
 		var parseObject = function ( object ) {
 
 
-			var data = { name: object.name, visible: object.visible, userData: object.userData };
+			var data = {};
+
+			if ( object.name !== "" ) data.name = object.name;
+			if ( object.visible !== true ) data.visible = object.visible;
+
+			data.userData = object.userData;
 
 
 			if ( object instanceof THREE.PerspectiveCamera ) {
 			if ( object instanceof THREE.PerspectiveCamera ) {
 
 

+ 3 - 4
examples/js/loaders/SceneLoader2.js

@@ -154,7 +154,7 @@ THREE.SceneLoader2.prototype = {
 
 
 			}
 			}
 
 
-			geometry.name = data.name;
+			if ( data.name !== undefined ) geometry.name = data.name;
 			geometries.push( geometry );
 			geometries.push( geometry );
 
 
 		}
 		}
@@ -166,12 +166,11 @@ THREE.SceneLoader2.prototype = {
 
 
 		for ( var i = 0, l = json.materials.length; i < l; i ++ ) {
 		for ( var i = 0, l = json.materials.length; i < l; i ++ ) {
 
 
-			var material;
 			var data = json.materials[ i ];
 			var data = json.materials[ i ];
+			var material = loader.parse( data.data );
 
 
-			material = loader.parse( data.data );
+			if ( data.name !== undefined ) material.name = data.name;
 
 
-			material.name = data.name;
 			materials.push( material );
 			materials.push( material );
 
 
 		}
 		}