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));