Наведение и обнаружение попаданий
Обнаружение попаданий виртуальных объектов
Обнаружение столкновений с виртуальными объектами обычно не включает в себя проверку пересечения луча с одной из полигонов сцены, так как типичная сцена может содержать сотни или тысячи полигонов, что делает непосредственное отслеживание лучей до полигонов непрактичным в большинстве случаев. Вместо этого большинство приложений находят способ упростить реализацию своих алгоритмов обнаружения попаданий.
Вероятно, что используемый вами движок 3D-графики предлагает функцию обнаружения попаданий, особенно если он разработан специально для разработки игр.
Упрощенные представительные объекты
Одним из распространенных решений является наложение упрощенных невидимых объектов поверх объектов в вашей сцене. Эти объекты затем служат для проверки. Например, если у вас есть более или менее прямоугольный объект, используйте прямоугольник в качестве суррогата объекта при выполнении проверки попаданий. Аналогично, если объект в основном круглый, используйте радиус минимальной охватывающей окружности для установления объекта проверки столкновения.
Обнаружение попаданий в реальном мире
Аббревиатура «LIDAR» имеет несколько определений в зависимости от конкретной реализации, но конечный результат остается неизменным. Чаще всего она относится к «Laser Imaging, Detection, And Ranging» или «LIght Detection and Ranging».
Проверка столкновений с реальным миром — это другая задача, которая может включать не только интерпретацию изображений с камеры устройства (если она доступна), но и потенциально несколько дополнительных датчиков. Некоторые устройства включают инфракрасные датчики для определения расстояния до объектов, а другие обеспечивают мощные системы LIDAR, которые используют лазеры (обычно инфракрасные лазеры, невидимые для человеческого глаза) для определения расстояния до объектов в мире.
Подробности работы с системой измерения расстояния отдельной платформы выходят за рамки этой статьи. Однако есть надежда: было высказано предложение о модуле WebXR Hit Test, который будет накладываться поверх WebXR и предоставлять API для выполнения проверки попаданий и обнаружения столкновений.
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API/Targeting