Какова реальная выгода от использования Raycast в ARKit и RealityKit? - PullRequest
1 голос
/ 05 июня 2019

Для чего нужен метод raycast в ARKit и RealityKit?

       func raycast(origin: SIMD3<Float>, 
                 direction: SIMD3<Float>, 
                    length: Float = 100, 
                     query: CollisionCastQueryType = .all, 
                      mask: CollisionGroup = .all, 
relativeTo referenceEntity: Entity? = nil) -> [CollisionCastHit]

Любая помощь приветствуется.

1 Ответ

3 голосов
/ 05 июня 2019

Ray-Casting, подобно Hit-Testing, помогает найти трехмерное положение на поверхности реального мира по заданной точке экрана. Я нашел следующее определение raycasting :

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

Когда пользователь хочет разместить виртуальный контент на какой-либо поверхности, хорошей идеей будет иметь подсказку для этого. Многие приложения AR рисуют фокусировочный круг или квадрат, которые дают пользователю визуальное подтверждение формы и выравнивания поверхностей, о которых знает ARKit. Итак, чтобы узнать, где поместить фокусировочный круг или квадрат в реальном мире, вы можете использовать ARRaycastQuery, чтобы спросить ARKit, где существуют какие-либо поверхности в реальном мире.

Надеюсь, это поможет.

...