Я знаю, как определить, где луч попал в квад, но я не знаю, как определить ориентацию в точке удара.
ArCore описывает позу HitResult для плоскости как:
HitResult.getHitPose ()
Возвращает позу пересечения между луч и обнаруженная геометрия реального мира. Положение - это место в пространстве, где луч пересекает геометрию. Ориентация - лучшее усилие, чтобы противостоять устройству пользователя, и его точное определение отличается в зависимости от отслеживаемого, который был поражен
Плоскость: X + перпендикулярна литому лучу и параллельна плоскости, Y + указывает вдоль плоскости нормали (вверх, для плоскостей HORIZONTAL_UPWARD_FACING), а Z + параллельна плоскости, примерно указывая на устройство пользователя.
Обратите внимание, что Поза - это позиция (Вектор3) и ориентация (кватернион).
В настоящее время я использую DirectX :: TriangleTests :: Intersects , чтобы вычислить позицию, где луч попадает в квад. Вычислить Y + легко, используя нормаль плоскости, но я не знаю, как рассчитать X + и Z +.