Pārlūkot izejas kodu

unproject that alters ray

Justin Sermeno 14 gadi atpakaļ
vecāks
revīzija
1d1e1dfaf7
1 mainītis faili ar 9 papildinājumiem un 13 dzēšanām
  1. 9 13
      src/core/Projector.js

+ 9 - 13
src/core/Projector.js

@@ -42,20 +42,20 @@ THREE.Projector = function() {
 		return vector;
 		return vector;
 	};
 	};
 
 
-	this.unprojectVector = function ( vector, camera ) {
+	this.unprojectVector = function ( vector, camera, ray ) {
         var end, dir, t;
         var end, dir, t;
 
 
-        if ( camera instanceof THREE.OrthographicCamera ) {
+        //if ( camera instanceof THREE.OrthographicCamera ) {
         
         
-            vector.z = 0.0;
+            vector.z = -1.0;
             end = new THREE.Vector3( vector.x, vector.y, 1.0);        
             end = new THREE.Vector3( vector.x, vector.y, 1.0);        
-        
-        }
+            
+        //}
 
 
 		_projScreenMatrix.multiply( camera.matrixWorld, THREE.Matrix4.makeInvert( camera.projectionMatrix ) );
 		_projScreenMatrix.multiply( camera.matrixWorld, THREE.Matrix4.makeInvert( camera.projectionMatrix ) );
 		_projScreenMatrix.multiplyVector3( vector );
 		_projScreenMatrix.multiplyVector3( vector );
 
 
-        if ( camera instanceof THREE.OrthographicCamera ) {
+       // if ( camera instanceof THREE.OrthographicCamera ) {
 
 
             _projScreenMatrix.multiplyVector3( end );
             _projScreenMatrix.multiplyVector3( end );
 
 
@@ -63,13 +63,9 @@ THREE.Projector = function() {
             dir.sub( end, vector );
             dir.sub( end, vector );
             dir.normalize();
             dir.normalize();
         
         
-            t = vector.y / - ( dir.y );
-
-            vector.set( vector.x + t * dir.x,
-                        vector.y + t * dir.y,
-                        vector.z + t * dir.z );
-        
-        }
+            ray.origin = vector;
+            ray.direction = dir;
+       // }
 
 
 		return vector;
 		return vector;