[英]Three.js - Updated geometry is not rendering changes
我在這里有一個小問題。 我有一個THREE.Line
對象,帶有材質和幾何形狀。 init方法將2個頂點推入幾何體,將“線”添加到場景中,線呈現得很好。
但是我有一個事件偵聽器...在畫布上的每次單擊都會添加另一個頂點。 但是,當渲染場景時,僅渲染原始2個頂點。 我已經輸出了scene.children
的轉儲,並且我確定Line在場景中,並且幾何形狀已經改變。
在文檔中,它說明了有關應用的內容:
geometry.dynamic = true
geometry.verticesNeedUpdate = true
但是這些也不起作用。
請參閱three.js Wiki: https : //github.com/mrdoob/three.js/wiki/Updates
您只能更新緩沖區的內容,不能調整緩沖區的大小(這非常昂貴,基本上等同於創建新的幾何圖形)。
您可以通過預先分配較大的緩沖區,然后保持不需要的頂點折疊/隱藏來模擬大小調整。
通過具有固定大小的頂點緩沖區對象指定幾何形狀。 您可以創建和刪除緩沖區,但不能調整它們的大小。
解決方法是,創建具有額外頂點的幾何並將不想要的頂點折疊到單個點中。
three.js r.52
編輯: 動態地使用three.js繪制線描述了一種更新的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.