본문 바로가기

유니티(Unity)/AR

[Unity/AR] 유니티 Vuforia로 AR 프로젝트 만들기

반응형

 

유니티 AR 프로젝트를 진행하면서 사용했던 뷰포리아의 사용법을 정리한 글입니다.

버전과 컴퓨터 환경에 따라 일부 설정이 변할 수 있습니다..

 

 

 

뷰포리아(Vuforia)

마커 기반 추적과 무마커 추적을 지원해주는 것이라고 되어있네요. 즉, AR 컨텐츠 개발을 도와주는 엔진입니다.

 

유니티 세팅

(유니티 2021.3.9f1 버전을 기준으로 작성된 글입니다.)

 

먼저 이 AR 컨텐츠는 안드로이드 환경에서 실행될 것이므로 이에 대한 설정을 몇 가지 해줍니다.

 

유니티 허브 - 설치에서 현재 설치된 유니티 버전의 설정 아이콘을 눌러 모듈 추가 창을 엽니다.

플랫폼 칸에 Android Build Support에 해당되는 것들을 설치해줍니다.

 

설치가 완료되면 3D 프로젝트를 하나 생성해줍니다.

 

이어서 아래 사이트로 가서 뷰포리아를 설치해줍니다.

 

https://developer.vuforia.com/downloads/sdk

 

SDK Download | Vuforia Developer Portal

To reset your password please enter the email address associated with your account. An email will be sent to you with instructions on how to complete changing your password.

developer.vuforia.com

 

 

설치가 끝나면 임포트 해줍니다.

 

 

프로젝트에 추가되면 프로젝트를 업데이트할지 묻는데 업데이트해줍니다.

 

 

업데이트 후 프로젝트에 기본으로 배치되어 있는 메인 카메라를 제거해줍니다.

Vuforia Engine - AR Camera를 추가해줍니다.

 

 

AR 카메라의 Inspector에서 Open Vuforia Engine configuration을 눌러줍니다.

 

 

이제 라이선스를 등록해줘야합니다. 저희는 일반 사용자이므로 무료로 라이센스를 받아 사용할 수 있습니다.

Add License를 눌러줍니다.

 

 

Get Basic을 눌러줍니다. 이후 이름을 설정하고 Confirm을 누르면 라이선스가 등록이 됩니다.

 

 

만들어진 라이선스를 눌러 들어가면 Please copy the license key below into your app라는 문구 밑에 라이선스가 있습니다. 이를 복사해주고 App License Key 칸에 붙여 넣어줍니다.

 

다 완료되었다면 신에 이미지 타깃을 추가해줍니다.

 

 

이미지 타겟을 AR 카메라로 비추면 그 위치에 지정한 오브젝트가 생겨납니다. AR 카메라의 위치를 조금 조정해 생성한 이미지 타깃을 바라보게 해 봅니다.

 

 

현재 아무런 이미지를 지정해주지 않아서 하얀 사각형이 하나 작게 보이는 모습입니다. 이 이미지 타깃에 이미지를 추가해보겠습니다.

 

AR 카메라의 Inspector창에서 Open Vuforia Engine configuration을 눌러서 Add DataBase를 찾습니다.

 

 

그전에 위에 있는 Max Simultaneous를 보시면 현재 1이라고 되어있습니다. 쉽게 말하자면 이미지 타깃을 1개만 인식하겠다는 뜻입니다. 그러니, 사용할 이미지 타깃의 수만큼 이를 늘려줘야 합니다.저는 1개로 사용합니다.

 

이제 Add Database를 눌러줍니다. 그러면 창이 새로 하나 열립니다.

 

 

 

Add Database를 눌러줍니다. 다른 것들 건들 필요 없이 이름을 자유롭게 작성해 생성해줍니다.

 

 

생성된 데이터베이스에 들어가면 다음과 같은 창이 열립니다.

 

 

이곳에 Add Target을 눌러 이미지 타깃으로 사용할 이미지들을 저장합니다. 

 

 

원하는 이미지를 지정하신 뒤, Width에 크기를 지정해줍니다. 이 값은, 유니티 신에 배치될 이미지 타깃의 크기를 결정합니다. 혼자 사용될 때는 큰 문제가 없지만, 둘 이상의 타깃을 사용하면 원치 않은 실행 결과가 나타날 수 있습니다. 그러니 실제 이미지 사이즈와 비슷한 값(또는 이미지들 간의 상대적인 비율)을 하는 것이 좋습니다.

 

저는 머지 큐브의 한 단면(아래 사진)을 사용하겠습니다. 이 테스트에서는 이거 하나만 사용할 것이기에 Width도 1로 지정했습니다.

 

 

이제 조금 기다리시면 인식률(Rate)이 설정되면서 이미지가 추가됩니다.

 

 

왼쪽의 체크박스를 체크해서 Download Database (All)을 누릅니다. 창이 하나 뜨면 Unity Editor를 누르고 다운로드를 눌러줍니다. 그럼 패키지를 다운로드하면서 임포트를 할 수 있게 됩니다.

 

임포트를 하시고 만들어둔 이미지 타깃의 Inspector창에 들어가면 다음과 같이 데이터베이스를 지정할 수 있습니다.

 

 

왼쪽의 유니티 신을 보시면 이미지 타겟의 이미지가 설정한 이미지로 변한 것을 알 수 있습니다.

 

 

그리고 이미지 타겟의 Default Observer Event Handler 부분의 Consider target as visible if its status is 부분을 Tracked로 변경합니다. 

 

 

그리고 이미지 타겟의 아래에 큐브를 하나 추가해줍니다.

 

 

만들어진 큐브의 Inspector 창에서 Add Component를 눌러 Rigidbody를 추가해줍니다.

Constraints를 눌러서 Freeze Position과 Freeze Rotation을 전부 클릭해줍니다.

 

 

이제 테스트를 해봅니다. File - Build Settings를 눌러 Android를 눌러줍니다.

 

 

왼쪽 아래에 있는 Player Settings를 눌러 다음과 같이 설정해줍니다.

 

 

설정이 끝났다면 Switch Platform을 누른 뒤 Build를 눌러줍니다. (참고로 빌드를 할 때는 반드시 저장하고 하세요. 안 그러면 초기화되는 불상사가 발생할 수도...)

 

굿!

 

 


 

궁금하신 점이나 고쳐야할 점이 있다면 댓글로 남겨주세요!

 

728x90