Javascript 如果对象位于某个点之外,则隐藏该对象(从摄影机透视图中看到)

Javascript 如果对象位于某个点之外,则隐藏该对象(从摄影机透视图中看到),javascript,three.js,Javascript,Three.js,将立方体设为添加到场景空间的3.0网格 cube.position.set( 10, 10, 10 ); scene.add( cube ); 使用鼠标旋转场景后,如果立方体对象的位置(从当前摄影机的位置看)位于场景空间原点0,0,0之外,我希望隐藏立方体对象。我想我的绊脚石是:如何变换场景空间坐标以从摄影机角度获得相应的坐标 附加 作为一名3D新手,我可能缺乏适当的空间词汇来描述场景。作为补充,一些术语澄清将非常受欢迎: 更新2015-01-30 对我想要的东西有一个更好的解释:使用截锥远比

将立方体设为添加到场景空间的3.0网格

cube.position.set( 10, 10, 10 );
scene.add( cube );
使用鼠标旋转场景后,如果立方体对象的位置(从当前摄影机的位置看)位于场景空间原点0,0,0之外,我希望隐藏立方体对象。我想我的绊脚石是:如何变换场景空间坐标以从摄影机角度获得相应的坐标

附加

作为一名3D新手,我可能缺乏适当的空间词汇来描述场景。作为补充,一些术语澄清将非常受欢迎:

更新2015-01-30

对我想要的东西有一个更好的解释:使用截锥远比,我们可以认为上面的任务是识别所有位于穿过红点的假想截锥平面之外的对象。现在我想识别出所有在给定点的平面之外的点,在我的例子中是0,0,0


可以创建与摄影机垂直的不透明平面。那么它背后的任何东西都将被隐藏。基于,您可以使用myPlane.lookAt功能查看相机的位置,从而使其与相机垂直。

我不太清楚您的问题。你说。。。超出场景空间原点0,0,0。摄影机定义采用近平面和远平面。远平面以外的对象不可见。你可以在和@gaitat找到一个非常好的解释,这基本上符合我的要求,除了我需要测试每个对象是否位于远平截头体平面之外,因为某些对象不能隐藏。为了完整性起见,gaitat解决方案的代码为:camera.far=camera.position.distanceTonew THREE.Vector30,0,0;camera.updateProjectionMatrix;a我可以虚拟地做到这一点,即不改变用户看到的内容吗?b你介意简要介绍一下我如何通过编程实现这一点吗我最初的回答不是很好。我已经重写了。