0

画面から消えるのを検出する方法がわかりません。誰か助けてもらえますか? WebGL と Three.js を使用しています。

4

1 に答える 1

2

次のように、錐台テストを使用できます。

// 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 に答える