Пожалуйста, объясните параметр направления Ray.aster

Я пытаюсь получить обнаружение столкновений по сеткам, которые я выкладываю на сцене Three.js. Я не совсем понимаю, как работает Raycaster reallu и правильно ли я понимаю.

Вот скрипка, чтобы описать, с чем у меня проблема

//Add cuba at 40/40
geometry = new THREE.CubeGeometry(20, 20, 20);
material = new THREE.MeshNormalMaterial();
mesh = new THREE.Mesh(geometry, material);
mesh.position.setY(40)
scene.add(mesh);


//Add Ray    
var origin = new THREE.Vector3(50, 0, 0),
    direction = new THREE.Vector3(-1,0,0),
    ray = new THREE.Raycaster(origin, direction),
    collisionResults = ray.intersectObjects([mesh]);
if(collisionResults.length!==0){
   alert('Ray collides with mesh. Distance :' + collisionResults[0].distance)
}

//Add Arrow to show ray
scene.add( new THREE.ArrowHelper(direction, origin, 50, 0x000000));

Не работает: http://jsfiddle.net/FredricBerling/LwfPL/1/

За работой: http://jsfiddle.net/FredricBerling/LwfPL/3/

По сути, скрипка выкладывает куб, а 50 точек образуют, что я стреляю в луч "направление», Проблема, кажется, в том, что в ней говорится "удар" даже если это не должно

Я выкладываю Arrowhelper, чтобы показать, где я подозреваю, что Raycaster стреляет в свой луч.

Из других тестов кажется, что направление в Raycaster отличается от направления в Arrowhelper. Raycaster, кажется, стреляет лучом в 0,0,0 сцены. я сбит с толку

РЕДАКТИРОВАТЬ!. Роб дал ответ. Мне нужно было убедиться, что сетки были отрисованы так, чтобы были применены матрицы. Fiddle обновлен правильным кодом, который работает для тестирования Raycaster, как и ожидалось.

Ответы на вопрос(1)

Ваш ответ на вопрос