Sfoglia il codice sorgente

Merge pull request #12465 from looeee/FBXLoader_fix_unknown_prop_type_c_error

FBXLoader binary format fixed unknown property type 'c' error
Mr.doob 7 anni fa
parent
commit
00b11628f5
1 ha cambiato i file con 34 aggiunte e 30 eliminazioni
  1. 34 30
      examples/js/loaders/FBXLoader.js

+ 34 - 30
examples/js/loaders/FBXLoader.js

@@ -4755,29 +4755,38 @@
 
 
 			switch ( type ) {
 			switch ( type ) {
 
 
-				case 'F':
-					return reader.getFloat32();
+				case 'C':
+					return reader.getBoolean();
 
 
 				case 'D':
 				case 'D':
 					return reader.getFloat64();
 					return reader.getFloat64();
 
 
-				case 'L':
-					return reader.getInt64();
+				case 'F':
+					return reader.getFloat32();
 
 
 				case 'I':
 				case 'I':
 					return reader.getInt32();
 					return reader.getInt32();
 
 
+				case 'L':
+					return reader.getInt64();
+
+				case 'R':
+					var length = reader.getUint32();
+					return reader.getArrayBuffer( length );
+
+				case 'S':
+					var length = reader.getUint32();
+					return reader.getString( length );
+
 				case 'Y':
 				case 'Y':
 					return reader.getInt16();
 					return reader.getInt16();
 
 
-				case 'C':
-					return reader.getBoolean();
-
-				case 'f':
+				case 'b':
+				case 'c':
 				case 'd':
 				case 'd':
-				case 'l':
+				case 'f':
 				case 'i':
 				case 'i':
-				case 'b':
+				case 'l':
 
 
 					var arrayLength = reader.getUint32();
 					var arrayLength = reader.getUint32();
 					var encoding = reader.getUint32(); // 0: non-compressed, 1: compressed
 					var encoding = reader.getUint32(); // 0: non-compressed, 1: compressed
@@ -4787,20 +4796,21 @@
 
 
 						switch ( type ) {
 						switch ( type ) {
 
 
-							case 'f':
-								return reader.getFloat32Array( arrayLength );
+							case 'b':
+							case 'c':
+								return reader.getBooleanArray( arrayLength );
 
 
 							case 'd':
 							case 'd':
 								return reader.getFloat64Array( arrayLength );
 								return reader.getFloat64Array( arrayLength );
 
 
-							case 'l':
-								return reader.getInt64Array( arrayLength );
+							case 'f':
+								return reader.getFloat32Array( arrayLength );
 
 
 							case 'i':
 							case 'i':
 								return reader.getInt32Array( arrayLength );
 								return reader.getInt32Array( arrayLength );
 
 
-							case 'b':
-								return reader.getBooleanArray( arrayLength );
+							case 'l':
+								return reader.getInt64Array( arrayLength );
 
 
 						}
 						}
 
 
@@ -4817,31 +4827,25 @@
 
 
 					switch ( type ) {
 					switch ( type ) {
 
 
-						case 'f':
-							return reader2.getFloat32Array( arrayLength );
+
+						case 'b':
+						case 'c':
+							return reader2.getBooleanArray( arrayLength );
 
 
 						case 'd':
 						case 'd':
 							return reader2.getFloat64Array( arrayLength );
 							return reader2.getFloat64Array( arrayLength );
 
 
-						case 'l':
-							return reader2.getInt64Array( arrayLength );
+						case 'f':
+							return reader2.getFloat32Array( arrayLength );
 
 
 						case 'i':
 						case 'i':
 							return reader2.getInt32Array( arrayLength );
 							return reader2.getInt32Array( arrayLength );
 
 
-						case 'b':
-							return reader2.getBooleanArray( arrayLength );
+						case 'l':
+							return reader2.getInt64Array( arrayLength );
 
 
 					}
 					}
 
 
-				case 'S':
-					var length = reader.getUint32();
-					return reader.getString( length );
-
-				case 'R':
-					var length = reader.getUint32();
-					return reader.getArrayBuffer( length );
-
 				default:
 				default:
 					throw new Error( 'THREE.FBXLoader: Unknown property type ' + type );
 					throw new Error( 'THREE.FBXLoader: Unknown property type ' + type );