Browse Source

Fixed canvas_interactive_voxelpainter example.

Mr.doob 13 năm trước cách đây
mục cha
commit
bc0885618b
1 tập tin đã thay đổi với 6 bổ sung23 xóa
  1. 6 23
      examples/canvas_interactive_voxelpainter.html

+ 6 - 23
examples/canvas_interactive_voxelpainter.html

@@ -25,7 +25,7 @@
 			var camera, scene, renderer;
 			var projector, plane;
 			var mouse2D, mouse3D, ray,
-			rollOveredFace, isShiftDown = false,
+			isShiftDown = false,
 			theta = 45, isCtrlDown = false,
 			target = new THREE.Vector3( 0, 200, 0 );
 
@@ -73,8 +73,9 @@
 
 				projector = new THREE.Projector();
 
-				plane = new THREE.Mesh( new THREE.PlaneGeometry( 1000, 1000 ), new THREE.MeshFaceMaterial() );
+				plane = new THREE.Mesh( new THREE.PlaneGeometry( 1000, 1000 ), new THREE.MeshBasicMaterial() );
 				plane.rotation.x = - Math.PI / 2;
+				plane.visible = false;
 				scene.add( plane );
 
 				mouse2D = new THREE.Vector3( 0, 10000, 0.5 );
@@ -142,6 +143,9 @@
 
 				event.preventDefault();
 
+				mouse3D = projector.unprojectVector( mouse2D.clone(), camera );
+				ray.direction = mouse3D.subSelf( camera.position ).normalize();
+
 				var intersects = ray.intersectObjects( scene.children );
 
 				if ( intersects.length > 0 ) {
@@ -221,27 +225,6 @@
 				camera.position.z = 1400 * Math.cos( theta * Math.PI / 360 );
 				camera.lookAt( target );
 
-				mouse3D = projector.unprojectVector( mouse2D.clone(), camera );
-				ray.direction = mouse3D.subSelf( camera.position ).normalize();
-
-				var intersects = ray.intersectObjects( scene.children );
-
-				if ( intersects.length > 0 ) {
-
-					if ( intersects[ 0 ].face != rollOveredFace ) {
-
-						if ( rollOveredFace ) rollOveredFace.materials = [];
-						rollOveredFace = intersects[ 0 ].face;
-						rollOveredFace.materials = [ new THREE.MeshBasicMaterial( { color: 0xff0000, opacity: 0.5 } ) ];
-					}
-
-				} else if ( rollOveredFace ) {
-
-					rollOveredFace.materials = [];
-					rollOveredFace = null;
-
-				}
-
 				renderer.render( scene, camera );
 
 			}