三.js旋转矢量和屏幕边缘检测

Three.js rotate vector and screen edge detection

本文关键字:屏幕 边缘检测 js 旋转      更新时间:2023-09-26

>我有一个矢量,我试图保持长度,但在与屏幕边缘碰撞时旋转 90 度,但它给了我一个奇怪的效果......不知道我穿着能做什么,但当我尝试应用矩阵和欧拉变换时就会发生这种情况......同样对于屏幕检测,我拥有的是用于检测屏幕内外的okj,但是知道它是底部,顶部,righ还是左边缘会很方便......有什么线索吗?谢谢!

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

我删除了该行以获得反向相机投影矩阵。

屏幕边缘实际上变成了我view frustum"外面"的物体,我的物体现在可以主动与之碰撞。现在,由于它是一个否定视锥体,除了我们看到的之外,其他一切都是限制视锥体本身的"围墙物体"。