场景:
orbit控制相机运动,对场景中的线环绕观察,确实时不时会消失,时不时又出现
尝试过程:
材质的depthTest,DoubleSide都试过,相机和控制器也添加了updateProjectionMatrix()和update(),尝试把Line换成Line2失败了,没有深入学习,因为基于别人造的功能,具体是通过修改geometry的position数组来改变Line,而Line2好像不能通过修改数组来更新?我不清楚,需要进一步学习。
重要的一点是,我发现并不是某些角度消失,而是在相机视野范围内没有原点(0,0,0)的时候才会消失,被模型挡住没事,只要在渲染的框中,线就好好的,原点没了线也就没了,最终在一个翻译过来的杂乱网站找到了解决方案,Object有一个属性:frustumCulled,翻译一下应该是“是否视锥体剔除”,会根据物体在或者不在相机的视锥中来决定是否渲染
解决方案
- 如果更新线的顶点,则还必须更新线的边界球以进行平截头体剔除才能正常工作.
line.geometry.computeBoundingSphere();
- 或者,您可以通过设置来防止对线进行视锥体剔除
line.frustumCulled = false;