2013-02-12 72 views
2

我想通過使用raycast檢測交叉點。我目前的問題是,我不確定我的光線瞄準的方向是什麼。所以我的一般問題是:有沒有辦法讓光線投射可見?如果是這樣:它是如何完成的?這會幫助我很多。可視化Raycaster

邁克爾

回答

3

你爲什麼不從原點畫一條線到線的方向。

更具體地(使用R83):

// Draw a line from pointA in the given direction at distance 100 
    var pointA = new THREE.Vector3(0, 0, 0); 
    var direction = new THREE.Vector3(10, 0, 0); 
    direction.normalize(); 

    var distance = 100; // at what distance to determine pointB 

    var pointB = new THREE.Vector3(); 
    pointB.addVectors (pointA, direction.multiplyScalar(distance)); 

    var geometry = new THREE.Geometry(); 
    geometry.vertices.push(pointA); 
    geometry.vertices.push(pointB); 
    var material = new THREE.LineBasicMaterial({ color : 0xff0000 }); 
    var line = new THREE.Line(geometry, material); 
    scene.add(line); 

Codepen在:https://codepen.io/anon/pen/evNqGy

+0

這是我最後還是沒買。我只是希望有一個方便的方式來設置一些可見性標誌,而無需額外的編程。 謝謝! – 2013-02-13 09:21:25

+1

關於你如何做到這一點的任何提示?我是新來的threejs,所以「從你的起源到光線的方向劃一條線」對我來說不是小菜一碟:) – binoculars 2016-07-03 18:08:54

+0

請進一步解釋如何畫一條線或什麼......謝謝 – 2017-02-27 23:11:01