2015-09-29 104 views
3

移動相機關閉後,我的緩衝區幾何消失。你也可以看到在帶有TrackballControls的drawcalls Three.js example。在我的情況下,它很不好。我的點消失在從0到400的距離,我的線在0到100的距離消失。我的對象使用簡單的幾何體工作正常,但沒有使用緩衝區幾何。我發現它與緩衝區幾何的質心有關。我嘗試使用不同的相機,改變相機的範圍,但仍然無法使用。移動相機後,如何阻止我的物體消失?將相機關閉後,Three.js緩衝區幾何消失

更新

得到它通過增加linesMesh.frustumCulled = false;和刪除geometry.computeBoundingSphere();工作。感謝所有的幫助。

+0

這是否有一些自定義的頂點着色器停止它,如果是的話,嘗試設置yourMesh.frustrumCulled = FALSE; – pailhead

+0

感謝您的評論,但我不使用任何自定義頂點着色器。我從threejs.org/examples/#webgl_buffergeometry_drawcalls示例開始,然後使用Tween動畫爲點和線添加了自定義位置,現在當移動相機時線和點消失。如果沒有動畫,只有將相機移動到緩衝區幾何中心時線條纔會消失,就像Three.js drawcalls示例中的一樣。 –

+0

如果你真的需要幫助,你需要讓別人很容易幫助你。 – WestLangley

回答

0

我建議你檢查你的相機的剪輯參數.near。靠近相機的物體自然會被切斷。

+0

我試過了,但我的觀點和線條消失了。在http://threejs.org/examples/#webgl_buffergeometry_drawcalls中,您可以在繼續使用相機放大後看到我得到的內容。在某些相機位置,線條會消失。在我的情況下,點也消失了。 –

+0

這是相機如何工作。但請注意,您並非真正在「縮放」 - 您正在將相機移近(直到它與幾何相交)。如果你想縮放而不碰撞相機和場景,改變視場(並調用'updateProjectionMatrix()') – bjorke

+0

我的物體已經在50-100的距離消失了,這看起來像是一個嚴重的故障。我更喜歡45點的fov。我的點不會在+ -400的距離渲染。我的對象是動畫的,所以我認爲質心與此有關。 –

4

Three.js認爲你的對象不在平截頭體內。

添加

  linesMesh.frustumCulled = false; 

,它應該消失