Как использовать RaycastHit.Point в Unity 3d - PullRequest
1 голос
/ 14 мая 2019

Я веду луч от камеры к центру экрана, как показано ниже:

 Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f));

я могу получить доступ к HitPoint, используя

RaycastHit hit;
  hit.point;

и я помещаю перекрестие в положение удара, но я хочу расположить перекрестие в направлении лучевой передачи всего в нескольких единицах от камеры. Как мне это сделать? Поскольку иногда время попадания может быть очень далеко, я хочу установить фиксированное расстояние для размещения перекрестия в направлении лучевой передачи.

1 Ответ

0 голосов
/ 15 мая 2019

Вы можете просто сделать:

Vector3 position = (hit.point - Camera.ViewportToWorldPoint(new Vector3(0.5f, 0.5f))).normalize * length;
...