2016-11-13 86 views
1

我有一个矢量,我试图保持长度但旋转90度碰撞屏幕边缘,但它给了我一个奇怪的效果......不知道我能当我尝试应用矩阵和欧拉变换时会发生这种情况......此外,对于屏幕检测,我拥有的可以用于检测屏幕上和屏幕外的情况,但是它可以方便地知道它是底部,顶部,左边或左边......任何线索?谢谢!Three.js旋转矢量和屏幕边缘检测

var direction = new THREE.Vector3(-0.2, -0.2, 0); 
var a = new THREE.Euler((Math.PI/2), 0, 0, 'XYZ'); 
direction.applyEuler(a); 

对于碰撞;我使用以下内容:

camera.updateMatrixWorld(); // make sure the camera matrix is updated 
camera.matrixWorldInverse.getInverse(camera.matrixWorld); 
cameraViewProjectionMatrix.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse); 
frustum.setFromMatrix(cameraViewProjectionMatrix); 

console.log(frustum.intersectsObject(textMesh)); 

回答

0

我删除了行以获取反转的相机投影矩阵。

屏幕边缘有效地成为我的视野外的对象,我的对象现在可以与他们主动相撞。