Unity AR [기본편]
🎮 Initial Settings
유니티에서 AR관련 콘텐츠를 만든다고 가정하였을 때 크로스 플랫폼을 지원하기 위해 AR Kit, AR Core의 공통된 기능들을 추상화 하여 하나의 패키지로 만들어 두는 것이 AR Foundation이다.
즉, 하나의 콘텐츠를 만들어서 앱을 빌드하면 다양한 디바이스에 호환가능한 어플을 만들 수 있다.
앞서 배운 packge manager에서 AR Foundation을 install하면 된다.
이때, 만약 안드로이드로 빌드하여 사용한다면 AR Core XR Plugin 아이폰으로 빌드한다면 ARKit항목을 빌드하면 된다.(내부적으로 사용하기 때문)
나는 안드로이드로 빌드하여 테스트할 것이기 때문에 ARCore를 install한다.
다음은 build settings를 해줘야 하는데 이때 사용자가 사용할 디바이스 플랫폼을 선택하고 switch platform을 선택해주면 된다.
이후 player settings로 들어가서 기본설정을 해야한다.
- graphics api - vulkan제거(AR Foundation을 지원하지 않음)
- minimum API Level - 24이상 선택(AR Foundation이 최소 24레벨이상부터 지원)
- XR Plug-in ARCore 체크
🎮 AR 컴포넌트
이제 하이어라키창에서 XR -> AR 관련 컴포넌트를 생성할 수 있다.
- AR Session은 전체적인 라이프사이클을 관리하고 있고 AR지원 가능 여부나 실행여부를 관리한다.(전체적인 매니저 느낌) 개발자는 따로 건들일 필요는 없지만 필수요소.
- AR Session Origin은 AR요소를 화면상에 배치하기 위해 필요한 컴포넌트 추가적으로 하위컴포넌트로 AR Camera가 생성되는데 이 카메라에 AR요소들이 배치된다. - 따라서 Main Camera는 삭제한다.
- AR Default Point Cloud는 영상에서 얻어지는 특징점들을 노란색 포인트로 표시한다.
- AR Default Plane은 AR Default Point Cloud 에서 찾은 특징점을 기반으로 평면을 찾는 컴포넌트이다.
🎮 AR 테스트
후면카메라를 사용하여(AR Session Origin-AR Camera) 특징점을 찾아내고 그 특징점들을 통해서 평면을 인식하는지 테스트 해볼 예정.
기본적인 컴포넌트 AR Session, AR Session Origin, AR Default Point Cloud, AR Default Plane를 추가한다.
- Main Camera삭제
기본적인 AR을 표현하는 컴포넌트가 AR Session Origin이기 때문에 이 컴포넌트에 다른 컴포넌트들을 붙여서 표현한다.
AR Session Origin에 Add Component로 AR Point Cloude Manager컴포넌트에 prefab을 추가할 수 있는데 여기에는 위에서 추가한 Default point cloude를 넣어주면 된다.
마찬가지로 Plane Manager도 똑같이 작업해준다.
이렇게 추가가 끝나면 기본적인 AR구현은 작동할 수 있게 된다.
이제 테스트를 위해 Build를 실행해 본다. - scenes추가..
댓글남기기