我无法弄清楚如何检测它是否会离开屏幕,有人可以帮忙吗?我正在使用 WebGL 和 Three.js。
问问题
594 次
1 回答
2
您可以使用Frustum测试,有点像这样:
// Create a new Frustum object (for efficiency, do this only once)
var frustum = new THREE.Frustum();
// Helper matrix (for efficiency, do this only once)
var projScreenMatrix = new THREE.Matrix4();
// Set the matrix from camera matrices (which are updated on each renderer.render() call)
projScreenMatrix.multiply( camera.projectionMatrix, camera.matrixWorldInverse );
// Update the frustum
frustum.setFromMatrix( projScreenMatrix );
// Test for visibility
if ( !frustum.contains( object ) ) {
// It's off-screen!
}
这是从WebGLRenderer 来源复制的。
于 2012-10-29T17:05:13.480 回答