我在嘗試更新arrowHelper。我嘗試過操縱箭頭對象的行中的頂點,設置所有的dynamic = true
等等,但我似乎可以做到的唯一方法是刪除舊線並繪製一個新線。有沒有辦法更新arrowHelper?Three.js - 我如何更新arrowHelper?
1
A
回答
3
所以你不能以通常的方式更新一個arrowHelper本身,通過改變你創建對象的值來更新某些東西。
但是:您可以移動箭頭的位置,這會移動其明顯的起點,並且您可以給它一個新的方向和長度,從而移動其明顯的終點。
這裏是如何做到這一點:
// new arrowHelper
var sourcePos = new THREE.Vector3(0, 0, 0);
var targetPos = new THREE.Vector3(0, 50, 0);
var direction = new THREE.Vector3().sub(targetPos, sourcePos);
var arrow = new THREE.ArrowHelper(direction.clone().normalize(), sourcePos, direction.length(), 0x00ff00);
scene.add(arrow);
// update the arrow
var newSourcePos = new THREE.Vector3(10, 10, 10);
var newTargetPos = new THREE.Vector3(60, 10, 10);
arrow.position.set(newSourcePos);
direction = new THREE.Vector3().sub(newTargetPos, newSourcePos);
arrow.setDirection(direction.normalize());
arrow.setLength(direction.length());
+0
看來,ThreeJs API改變了,它必須是'arrow.position.copy(newSourcePos);'現在代替'arrow.position.set(...)'' –
相關問題
- 1. 更改ArrowHelper類的箭頭屬性Threejs
- 2. Threejs ArrowHelper或Line outline
- 3. three.js Cube Geometry - 如何更新參數?
- 4. 如何更新Three.js中的制服
- 5. 如何在three.js中更新ShapeGeometry
- 6. 如何更新Three.JS中的CombinedCamera參數?
- 7. three.js行不更新
- 8. three.js所 - 刪除
- 9. 用正確的旋轉創建ArrowHelper
- 10. Three.js陰影質量更新
- 11. 更新ShaderMaterial在three.js所
- 12. 更新Three.js中的網格幾何?
- 13. three.js更新幾何體材質索引
- 14. three.js所 - Chrome的新的更新問題
- 15. Three.js如何顯示/更新幾何圖段?
- 16. 如何更新three.js r58中的幾何頂點位置?
- 17. Three.js - 如何更新THREE.Points(或THREE.ParticleSystem)中的頂點?
- 18. 如何在three.js上滾動時更新z值?
- 19. 如何在THREE.JS中更新shadowMap的光照大小
- 20. Three.js - 更新的幾何體不會呈現更改
- 21. three.js所:制服值不更新
- 22. Three.js時間統一不會更新
- 23. Three.js更新TubeGeometry對象的網格
- 24. three.js更新相機矩陣世界
- 25. 運行時Three.js紋理/圖像更新
- 26. 在CSS Tranformation之後更新Three.js Raycaster
- 27. Three.js更新大小的形狀
- 28. three.js中bufferGeometry的更新索引
- 29. Three.js更新Object3D的孫子的旋轉
- 30. Three.js - 更新飛機上的紋理
是'ArrowHelper.js'沒有幫助?同時檢查開發分支64dev的更新版本。 – WestLangley
不是特別的,我不知道如何找到這個開發分支 - 我假設你在討論three.js github回購,但我沒有在分支列表中看到。 – meetar
https://github.com/mrdoob/three.js/tree/dev/src/extras/helpers – WestLangley