@ncoxall

Как работает raycasting?

Все привет! Не смог нагулить как работает raycasting)
Как я думаю:
Есть плоская поверхность 1000х1000 и raycasting делает 10000 проверок (по пикселям) чтобы найти коллизию?
Такой ли принцип работы у raycasting?
  • Вопрос задан
  • 1215 просмотров
Пригласить эксперта
Ответы на вопрос 3
maximpushkarev75
@maximpushkarev75
Very bad monkey coder
Пересечение полигона с лучом - тривиальная задача, тут гугл в помощь, наподобие вот этого, например, или вот этого.
Другое дело, что полигонов подразумевается огромное количество, перебирать их за линейное время не хорошо, поэтому обычно строят древовидную структуру (для поиска столкновений за логарифмическое время). Например, BSP-дерево, или kd-дерево
Ответ написан
Примерно так. Из каждого пикселя пускается луч, ищется пересечение объекта с лучом.
В вашем случае не 10000 проверок будет, а 1000000.

В реальности, для повышения производительности, коллизия проверяется не с объектом, а с его bounding-box.
Ответ написан
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Вы про ray casting или ray tracing? Это близкие понятия, но одно относится больше к физике, а другое к рендерингу. Если брать ваш конкретный сценарий, то проверок нужно две: одна на пересечение луча и плоскости, вторая на нахождение точки в квадрате. Про алгоритм пересечения луча с плоскостью можете почитать здесь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы