2013-02-12 2 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

Вот что я сделал в конце концов. Я просто надеялся, что есть удобный способ установить флаг видимости без дополнительного программирования. Спасибо! –

+1

Какие-нибудь советы о том, как вы это сделали? Я новичок в тройках, поэтому «рисование линии от вашего источника до направления луча» не является кусочком торта для меня :) – binoculars

+0

Пожалуйста, объясните далее, как нарисовать линию или что-то в этом роде ... спасибо –