【发布时间】:2021-08-31 15:08:59
【问题描述】:
我一直在修改three.js,并且我有一个我想用作GUI 的画布。为此,我必须检查一个物体是否在相机截锥体中。
我当前的代码:
camera.updateMatrix();
camera.updateMatrixWorld();
var frustum = new THREE.Frustum();
var projScreenMatrix = new THREE.Matrix4();
projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
frustum.setFromProjectionMatrix( camera.projectionMatrix );
if(frustum.containsPoint( mesh.position )){
//stuff happens...
};
frustum.containsPoint()不断返回假。我在这里做错了什么?
【问题讨论】:
-
A
Frustum需要 6 个Planes 作为参数,你没有提供任何东西。这可能就是它不起作用的原因。 -
那么我将如何克隆相机截锥体?
-
这个答案的一个例子是:stackoverflow.com/questions/10858599/…
-
啊,有帮助,非常感谢!