Как рассчитать ориентацию, когда луч попадает в квад? - PullRequest
0 голосов
/ 10 марта 2020

Я знаю, как определить, где луч попал в квад, но я не знаю, как определить ориентацию в точке удара.

ArCore описывает позу HitResult для плоскости как:

HitResult.getHitPose ()

Возвращает позу пересечения между луч и обнаруженная геометрия реального мира. Положение - это место в пространстве, где луч пересекает геометрию. Ориентация - лучшее усилие, чтобы противостоять устройству пользователя, и его точное определение отличается в зависимости от отслеживаемого, который был поражен

Плоскость: X + перпендикулярна литому лучу и параллельна плоскости, Y + указывает вдоль плоскости нормали (вверх, для плоскостей HORIZONTAL_UPWARD_FACING), а Z + параллельна плоскости, примерно указывая на устройство пользователя.

Обратите внимание, что Поза - это позиция (Вектор3) и ориентация (кватернион).

В настоящее время я использую DirectX :: TriangleTests :: Intersects , чтобы вычислить позицию, где луч попадает в квад. Вычислить Y + легко, используя нормаль плоскости, но я не знаю, как рассчитать X + и Z +.

...