1
爲什麼下面ArrowHelper
的尖端不直接撞擊目標球體?它只是錯過了一點。以下方向計算不夠精確?爲什麼ArrowHelper沒有達到目標?
var geometry = new THREE.SphereGeometry(1, 16, 16);
var material = new THREE.MeshNormalMaterial();
var mesh = new THREE.Mesh(geometry, material);
mesh.type = "node";
mesh.position.set(30, -87, -11);
scene.add(mesh);
geometry = new THREE.SphereGeometry(1, 16, 16);
material = new THREE.MeshNormalMaterial();
mesh = new THREE.Mesh(geometry, material);
mesh.type = "node";
mesh.position.set(28, 44, -14);
scene.add(mesh);
var sourcePos = new THREE.Vector3(30, -87, -11);
var targetPos = new THREE.Vector3(28, 44, -14);
var direction = new THREE.Vector3().subVectors(targetPos, sourcePos);
var arrow = new THREE.ArrowHelper(direction.clone().normalize(), sourcePos, direction.length(), 0xff0000);
scene.add(arrow);
這是該question直接跟進的問題(我把它打開,因爲有可能更好的算法,而ArrowHelper
,但似乎不準確也由這裏所描述的ArrowHelper問題引起的)。
感謝您的提示。即將推出的版本會有解決方案嗎?這已經在HEAD中解決了嗎?我有一個公開的問題要跟進嗎?舊版本如何? – Zardoz
作爲解決方法,您可以在'ArrowHelper.js'中將更多的9添加到0.999常數中。我們將在下一個版本中修復它。 – WestLangley
非常感謝。你的解決方法工作:-)感謝所有的辛勤工作! – Zardoz