Есть несколько проблем с вашим кодом (например, вы увеличиваете ray_End_pos_X, но не используете его в цикле).У меня есть подозрение, что вам, вероятно, нужно менять геометрию только во время каждой итерации.
Я бы пошел с новыми строками из клонированной геометрии и общего материала.Я быстро проверил, это работает:
var rayX = 0, rayY=0, rayZ = 0;
var material = new THREE.LineBasicMaterial( { color: 0xff0000 } );
var geometry = new THREE.Geometry();
geometry.vertices.push(new THREE.Vector3( spotLight.position.x, spotLight.position.y, spotLight.position.z) );
geometry.vertices.push(new THREE.Vector3( rayX, rayY, rayZ) );
for(var i=0; i<10; i++) {
var newLine = new THREE.Line(geometry.clone(), material);
newLine.geometry.vertices[1].x = rayX;
this.context.scene.add(newLine);
rayX += 0.1;
}
Вот как это выглядит (красные линии, остальное не имеет значения):