我使用three.js为3D场景创建了一个嵌入式轨迹球相机控制器.目前,它使用一个小立方体,一个圆形和一个放置在世界起源的正交相机.但是,通过主摄像头观察,这三个对象在场景中仍然可见.(在我下面的演示代码中,我故意制作了立方体10x10x10,以便它清晰可见,但它可以做得更小.)
此外,作为主要场景的一部分的元素在插图中可见.例如:可以在插图中看到属于主场景的AxisHelper.
是否有可能在three.js/webgl中使某些对象仅对某些相机可见?
如果没有,那么解决方法是将轨迹球特征所需的对象放置在深空中,主摄像机无法看到它们,但如果可能的话,我宁愿选择更纯净的解决方案.
演示:http://codepen.io/anon/pen/MKWrOr
WestLangley.. 23
three.js支持图层.
如果对象和相机共享公共图层,则对象对于相机是可见的.相机和所有对象默认位于第0层.
例如,
camera.layers.enable( 1 ); // camera now sees default layer 0 and layer 1 camera.layers.set( 1 ); // camera now sees only layer 1 mesh.layers.set( 1 ); // mesh is in layer 1
three.js r.75
three.js支持图层.
如果对象和相机共享公共图层,则对象对于相机是可见的.相机和所有对象默认位于第0层.
例如,
camera.layers.enable( 1 ); // camera now sees default layer 0 and layer 1 camera.layers.set( 1 ); // camera now sees only layer 1 mesh.layers.set( 1 ); // mesh is in layer 1
three.js r.75