[AR, 유니티] 2강. 평면& 얼굴 Visualization (feat. AR Foundation)

2022. 11. 14. 20:37코딩 3막 <AR>

728x90

지난 시간에 유니티 설치 및 AR 프로젝트 세팅과 관련된 튜토리얼을 공부했었다면

본격적으로 AR Plug-in에서 제공하는 기능들을 실습하는 시간을 갖고자

AR 프레임워크의 대표 패키지인 AR Foundation에 대해서 배워보겠습니다


그래서 AR이 뭐에요?

AR콘텐츠를 만들기 위해서는 카메라로 들어오는 영상을 분석해야 함
1. 평면이 어디에 위치하는지(평면인식)
2. 사람의 얼굴이 어디에 위치하는지(얼굴인식)
3. 어떤 객체가 어디에 위치하는지
=> 평평한 곳 위에 3D 오브젝트를 얹을 수 있음

유니티는 크로스 플랫폼을 지원하는 AR플랫폼을 만들기 위해서
AR Foundation 프레임워크를 제공함 

AR Kit나 AR Core, Magic Leap, HoloLens의 공통기능을 추상화해서 하나의 패키지로 만든 프레임워크

즉, AR Foundation으로 애플리케이션을 빌드하면 어떤 기기든 상관없이(AR지원이 되는 한에서)

각 플랫폼에서 지원하는 기능들을 활용할 수 있다

 

그럼 지원 안되는 모델도 있어? 응 있어요~


AR Core를 지원하는 기기 모델의 종류 (feat. samsung)


AR Scene Setting

 XR - AR Session 추가
XR - AR Session Origin 추가
Main Camera 삭제
AR Camera에 Tag를 main camera로 설정

먼저 AR Foundation의 기본 컴포넌트를 Scene 상에 추가해주도록 하겠습니다

가장 기본적으로 필요한 컴포넌트는 AR Session입니다

이것은 AR  지원 기능 여부나 Session 실행 여부와 같은 AR의 전체적인 Lifecycle을 관리합니다

그리고 AR Session Origin을 추가해야 하는데 이것은 AR 요소들을 유니티 공간에 Transformation하기 위한 컴포넌트이다모든 요소들의 scale을 조정할 때 사용되며 하위에 포함된 AR Camera를 통해 카메라 상에 생성될 AR 오브젝트들이 이곳으로 달라붙게 된다고 생각하면 된다


Plane Visualization  (AR Plane Setting)

XR - AR Default Point Cloud 추가
XR - AR Default Plane 추가
Add Component - AR Point Cloud Manager 추가
AR Default Point Cloud를 Prefab에 연결
Add Component - AR Plane Manager 추가
AR Default Plane을 Prefab에 연결

먼저 AR 카메라를 통해 평면이 인식되는 기능을 구현해보겠습니다

AR Session이 모든 것의 기준점이 된다 그래서 이 내부에 추가할 기능의 컴포넌트를 추가해주면 된다

default로 제공하는 3가지의 컴포넌트가 있는데 AR Default Point Cloud, AR Default Plane, AR Defalut Face이다
point cloud같은 경우 카메라에서 얻어지는 특징점들을 하나의 색깔(노랑색) 포인트로 표시하는 역할이다
plane의 경우 point cloun를 통해 찾은 특징점들을 통해 평면을 찾는 역할이다
그래서 후면카메라를 이용하여 특징점들을 찾아내고 그를 통해 평면을 인식하는 작업을 만들도록 합니다

 

그리고 AR 오브젝트들이 카메라를 중심으로 3D 데이터로 표현되게 하도록

Session Origin과 위에서 추가한 컴포넌트를 연결해야 한다

그래서 Session Origin에 AR Point Cloud Manager 컴포넌트와 AR Plane Manager 컴포넌트를 추가해서

위에 추가해준 프리팹을 연결해준다


Face Visualization (AR Face Setting)

XR - AR Default Face 추가
Add Component - AR Face Manager 추가
AR Default Face를 Prefab에 연결

AR Default Face 프리팹을 추가하고 AR Face Manager 컴포넌트를 추가하여 프리팹을 연결해주면 -끝-

(알아야 할 점은) AR Face Manager를 추가한 순간 빌드를 하게되면 전면 카메라로 전환이 된다~

매니저에서 얼굴을 인식하는 maximum face count를 조절해 줄 수 있는데 당연하지만

하나의 얼굴만 인식하는게 가장 정확도가 높다


공감해주셔서 감사합니다

728x90