Ваша проблема в том, что ваша трассировка лучей начинается в (правильном) местоположении в мире, но заканчивается в относительном местоположении, поскольку вы умножаете координаты X и Y единичного вектора на 500 - это приведет к значениюмежду (-500, -500, 0) и (500, 500, 0)
Вместо этого вы хотите добавить свой умноженный вектор единиц в начальную точку линии, что даст вам местоположение в мире.