Bläddra i källkod

Editor: Add support for PLY point clouds. (#22138)

* Editor: Add support for PLY point clouds.

* Editor: Simplify code.

* package.json: Add XRWebGLLayer to globals.

* package.json: Add XRWebGLBinding to globals.
Michael Herzog 4 år sedan
förälder
incheckning
a1b4086ae0
2 ändrade filer med 22 tillägg och 7 borttagningar
  1. 19 6
      editor/js/Loader.js
  2. 3 1
      package.json

+ 19 - 6
editor/js/Loader.js

@@ -192,8 +192,7 @@ function Loader( editor ) {
 						} else {
 
 							var material = new THREE.PointsMaterial( { size: 0.01 } );
-
-							if ( geometry.hasAttribute( 'color' ) === true ) material.vertexColors = true;
+							material.vertexColors = geometry.hasAttribute( 'color' );
 
 							object = new THREE.Points( geometry, material );
 							object.name = filename;
@@ -438,12 +437,26 @@ function Loader( editor ) {
 					var { PLYLoader } = await import( '../../examples/jsm/loaders/PLYLoader.js' );
 
 					var geometry = new PLYLoader().parse( contents );
-					var material = new THREE.MeshStandardMaterial();
+					var object;
 
-					var mesh = new THREE.Mesh( geometry, material );
-					mesh.name = filename;
+					if ( geometry.index !== null ) {
 
-					editor.execute( new AddObjectCommand( editor, mesh ) );
+						var material = new THREE.MeshStandardMaterial();
+
+						object = new THREE.Mesh( geometry, material );
+						object.name = filename;
+
+					} else {
+
+						var material = new THREE.PointsMaterial( { size: 0.01 } );
+						material.vertexColors = geometry.hasAttribute( 'color' );
+
+						object = new THREE.Points( geometry, material );
+						object.name = filename;
+
+					}
+
+					editor.execute( new AddObjectCommand( editor, object ) );
 
 				}, false );
 				reader.readAsArrayBuffer( file );

+ 3 - 1
package.json

@@ -44,7 +44,9 @@
       "ZSTDDecoder": true,
       "bodymovin": true,
       "OIMO": true,
-      "Stats": true
+      "Stats": true,
+      "XRWebGLBinding": true,
+      "XRWebGLLayer": true
     },
     "rules": {
       "quotes": [