2017-09-06 4 views
2

를 배치 할 바닥을 감지 types:ARHitTestResultTypeExistingPlaneUsingExtent이라는 테이블은 감지 된 평면의 범위 내에서만 히트를 탐지합니다.ARKit 만이 예에서 오브젝트를 배치 할 경우, 나는이 작품 <code>hitTest:tapPoint types:ARHitTestResultTypeExistingPlaneUsingExtent</code></p> <p>을 사용할 수 있습니다 ARKit에서 객체를

ARKit이 바닥에 많은 비행기를 배치 (또는 확장) 할 때까지 주변을 돌아 다닐 필요가 있기 때문에 바닥에 물건을 올려 놓는 것이 덜 유용합니다.

ARHitTestResultTypeExistingPlane은 바닥의 작은 패치를 감지하고 모든 사물을 배치 할 수 있기 때문에 문제를 해결합니다. 그러나 문제는 ARKit이 바닥 (예 : 테이블)에 해당하지 않는 다른 비행기를 감지하자마자 모든 물체가 더 높은 표면에 배치된다는 것입니다.

히트 테스트에 사용할 비행기를 제어 할 수 있습니까?

답변

2

히트 테스트 방법은 여러 결과를 카메라에서 거리별로 정렬하여 반환합니다. 무한 범위의 기존 비행기에 대한 테스트를 치른 경우 설명하는 상황에서 테이블/책상/등, 바닥 등 적어도 두 가지 결과가 표시되어야합니다. 특별히 바닥을 원하는 경우에

, 그것을 찾기 위해 몇 가지 방법이 있습니다 :

  • 이미 이전 세션에서에서 바닥 인 ARPlaneAnchor 알고 있다면, 적중 테스트 결과의 배열을 검색 anchor과 일치하는

  • 바닥이 카메라에서 가장 먼 평면 (배열의 마지막 부분)이라고 가정합니다. 아마도 대부분의 경우 안전한 가정이지만 발코니, 젠 칸 (genkan)에주의하십시오.