본문 바로가기
[Unity]

[Unity] Vuforia를 통해 AR 체험하기 (1) - 환경 세팅

by 김기승 2020. 7. 1.

이번에는 퀄컴에서 제작한 AR 소프트웨어 플랫폼인 Vuforia를 사용하여 AR기술을 체험해보겠다.

 

이번 시간에는 간단히 AR 세팅을 해본다.

 

본 게시물에서는 Unity 2019.4.0f1 버전을 사용했으며 'Android Build Support' 모듈을 추가한 상태이다.

 

새로운 프로젝트를 생성해준다. (본인은 'AR_Test'로 이름 지정 후 생성)

 

File → Build Settings 에서 Android로 'Switch Platform' 해준다.

 

Player Settings → Player → XR Settings의 'ARCore Supported'에 체크해준다.

 

Asset Store에서 'Vuforia Core Sample' 에셋을 다운받는다.

 

 전부 Import 해준다.

 

기존에 있는 GameObject를 모두 제거해준다. (추후에 ARCamera 추가하기 위함)

 

Assets/SamplesResources/Scenes/3-ImageTargets.unity(Scene 파일)을 실행한다.

 

'3-ImageTargets' Scene에서 ARCamera 게임 오브젝트를 Copy 한다.

ARCamera는 마커를 인식하는 카메라이다.

 

기존 Scene(Assets/Scenes/SampleScene.unity)으로 돌아와서 Paste 해준다.

 

ARCamera 게임 오브젝트의 Inspector 창에서 'Open Vuforia Engine configuration' 클릭해준다.

 

'Add License' 버튼을 클릭하면 Vuforia 사이트로 이동한다.

 

Vuforia 사이트는 이렇게 생겼으며, 사이트에 회원 등록이 되어있지 않다면 따로 등록을 해야한다.

 

로그인을 한 뒤에, License Manage 탭에서 라이센스를 생성하기 위한 'Get Development Key' 버튼을 클릭한다.

 

라이센스 명을 자유롭게 입력하고, 체크 박스 표시해주면 'Confirm' 버튼을 눌러 라이센스 생성이 가능하다.

 

라이센스가 생성된 모습이다.

 

다음은 마커를 생성해야한다.

Target Manager 탭에서 'Add Database' 버튼을 클릭한다.

 

Database의 이름은 자유롭게 설정하여 Create 버튼을 클릭한다.

 

Database가 생성된 모습이다.

 

AR_Test Database에 마커를 추가하기 위한 작업으로써 'Add Target' 버튼을 클릭해준다.

 

평면 사진을 마커로 인식할 것이므로, Single Image을 선택해주고, Width는 이미지의 너비를 입력해주면 된다. 다만, 픽셀 단위를 미터 단위로 변경하여 입력해야 한다. 본인은 너비가 640px인 스폰지밥 이미지를 사용하였기에 0.1693333을 입력하였다. 픽셀 단위 변환은 https://www.unitconverters.net/typography/pixel-x-to-meter.htm 사이트를 참고하였다.

 

마커를 추가하고 나면 이렇게 화면이 뜬다. Rating은 해당 마커를 얼마나 잘 인식할 수 있는 지를 나타낸 것이다.

여기서 'Download Database(All)' 버튼을 클릭해서 Unity Editor 방식으로 다운로드 하면 Unity Package 파일을 다운받을 수 있다. (Unity에 Import 할 것)

 

License Manager 탭으로 이동하여 추가했던 라이센스 키를 복사해준다.

 

'Open Vuforia Engine configuration'의 App License key에 라이센스 키를 붙여넣기 한다.

 

Create Empty로 새로운 객체를 생성한다. (본인은 이름을 Marker라고 지정함.)

 

새로 추가한 Marker 게임 오브젝트 아래의 컴포넌트를 추가한다.

+ Default Trackable Event Handler

+ Turn Off Behaviour
+ Image Target Behaviour

 

Image Target Behaviour 컴포넌트의 Type을 From Database로 변경해주고 Database를 AR_Test로 선택한다.

Image Target은 마커를 선택하면 된다.

 

ARCamera 게임 오브젝트와 Marker 게임 오브젝트는 다음과 같이 아래를 내려볼 수 있도록 배치한다. (ARCamera가 마커를 볼 수 있도록)

 

Marker 게임 오브젝트에 Cube를 추가해준다.

 

단, 그림과 같이 마커의 크기에 비해 큐브가 너무 크므로 큐브의 크기를 적절히 조절해준다.

(※ 마커의 크기를 변경하면 물체가 보이지 않을 수 있음!)

 

큐브의 크기와 배치를 적절히 한 모습이다.

 

File → Build Settings에서 모든 Scene을 제거하고 현재 Scene만을 Add 해서 Build 버튼을 누르면 APK 파일을 생성한다.

 

APK 파일을 안드로이드에 설치한 뒤에 마커를 인식시키면 다음과 같은 결과가 나온다.

 

본 게시물에서는 큐브를 마커 자식으로 배치했지만, 다른 움직이는 오브젝트를 배치하여도 무리없이 구동되는 것을 확인하였다.

댓글