瀏覽代碼

ObjectLoader: Add fallback for Geometry

Mugen87 6 年之前
父節點
當前提交
d0109aa045
共有 2 個文件被更改,包括 15 次插入5 次删除
  1. 4 4
      examples/js/loaders/deprecated/LegacyJSONLoader.js
  2. 11 1
      src/loaders/ObjectLoader.js

+ 4 - 4
examples/js/loaders/deprecated/JSONLoader.js → examples/js/loaders/deprecated/LegacyJSONLoader.js

@@ -3,9 +3,9 @@
  * @author alteredq / http://alteredqualia.com/
  */
 
-THREE.JSONLoader = ( function () {
+THREE.LegacyJSONLoader = ( function () {
 
-	function JSONLoader( manager ) {
+	function LegacyJSONLoader( manager ) {
 
 		if ( typeof manager === 'boolean' ) {
 
@@ -20,7 +20,7 @@ THREE.JSONLoader = ( function () {
 
 	}
 
-	Object.assign( JSONLoader.prototype, {
+	Object.assign( LegacyJSONLoader.prototype, {
 
 		crossOrigin: 'anonymous',
 
@@ -573,6 +573,6 @@ THREE.JSONLoader = ( function () {
 
 	} );
 
-	return JSONLoader;
+	return LegacyJSONLoader;
 
 } )();

+ 11 - 1
src/loaders/ObjectLoader.js

@@ -422,7 +422,17 @@ Object.assign( ObjectLoader.prototype, {
 
 					case 'Geometry':
 
-						console.error( 'THREE.ObjectLoader: "Geometry" is no longer supported.' );
+						if ( 'THREE' in window && 'LegacyJSONLoader' in THREE ) {
+
+							var geometryLoader = new THREE.LegacyJSONLoader();
+							geometry = geometryLoader.parse( data, this.resourcePath ).geometry;
+
+
+						} else {
+
+							console.error( 'THREE.ObjectLoader: You have to import LegacyJSONLoader in order load geometry data of type "Geometry".' );
+
+						}
 
 						break;