들어가며
오늘은 Unity에서 Vuforia 패키지를 이용한 AR 어플리케이션을 만들어봅니다.
개발 환경
Device
M1 Macbook Air - macOS Monterey 12.0.1
iPhone 11 Pro - iOS 15.1
Software
Unity Hub - 3.0.0-beta.7(Beta Channel)
Unity 2021.2.6.f1(silicon)
Xcode 13.2(13C90)
들어가며
2019.2.0 이상 버전에서는 Unity Asset Store에서 Vuforia 에셋을 추가하여 사용할 수 있도록 변경되었습니다.
참고 블로그
Unity 프로젝트 생성
기본적인 3D 프로젝트를 생성한 뒤, 프로젝트를 열어줍니다.
프로젝트에 대한 빌드 설정을 진행합니다(iOS 테스트 환경)
Player Settings 를 변경합니다.
좌측 상단의 Sign in을 클릭하여 유니티 계정으로 로그인합니다.
Vuforia Engine | 패키지 | Unity Asset Store
로그인 후, 위 웹사이트에 방문하여 Unity에서 열기를 클릭하여 Vuforia Engine을 유니티에 Import시킵니다.
Import 버튼을 클릭하고 경고창 발생 시 Cancel 하지 않고 진행하여 Vuforia Engine을 Import 시킵니다.
Import를 마쳤으면 Scene의 Main Camera를 제거(또는 비활성화)하고, Vuforia Engine의 AR Camera, Image Target을 추가합니다.
여기까지 Unity의 Vuforia 앱 개발 기본 구성이 완료되었고, Vuforia 플랫폼에서의 AR 인식에 대한 설정을 진행합니다.
Vuforia 개발자 포털
https://developer.vuforia.com
Vuforia 개발자 포털에 접속하여 계정이 없다면 우측 상단의 Register 를 클릭하여 회원가입한 뒤 로그인하고, 계정이 있다면 Login을 클릭하여 바로 로그인합니다.
로그인 후, 상단 탭의 Develop을 클릭합니다.
Vuforia 라이센스 만들기
상단 Develop 탭을 클릭하면 처음으로 License Manager페이지가 보이게 되는데, 이 페이지에서 Vuforia에 대한 라이센스를 발급받을 수 있습니다. (설정 통합 관리로 에셋 당 1 라이센스 등록 가능)
리스트에 있는 Basic-1 라이센스는 테스트로 발급해둔 라이센스입니다.
Vuforia에서 기본적으로 제공하는 Basic 라이센스를 사용하기 위해 Get Basic을 클릭합니다.
중간의 License Key 부분을 보면 Basic 라이센스의 상세 정보를 확인할 수 있습니다.
금액 : 무료
Reco : 매월 1000개의 Cloud Image Target 인식 가능
Cloud Targets : 최대 1000개의 AR Target 생성 가능
VuMark Templates : 최대 1000개의 VuMark 템플릿 활성화 가능
VuMark : 무제한
License Name을 입력하고 Confirm을 클릭하여 라이센스를 생성합니다.
License Manager 페이지에서 생성한 라이센스를 확인할 수 있고, 이 라이센스를 클릭하여 라이센스의 상세정보를 확인할 수 있습니다.
라이센스의 상세 정보에서 회색 상자를 클릭하여 라이센스 키를 복사합니다.
Hierachy의 ARCamera를 클릭하고, Inspector 하단의 Vuforia Behavior 컴포넌트의 Open Vuforia Engine Configuration 클릭
위에서 복사해둔 라이센스 키를 입력합니다.
이후 Vuforia 개발자 포털의 Develop > Target Manager 페이지에서 Add Database를 클릭해 이미지 인식을 위한 Image Target을 생성합니다.
Device타입을 선택하여 앱 내부에 타겟 데이터베이스를 저장해 실행하도록 합니다.
(Cloud는 클라우드에 저장된 타겟을 서버와 통신하여 인식하는 방식이며 VuMark는 커스텀 바코드를 생성하여 해당 바코드를 통해 타겟을 인식하는 방식)
생성된 Database를 클릭합니다.
Add Target을 클릭합니다.
Image Target을 생성하기 위한 이미지의 파일 확장자는 jpg, png만 지원되고 크기는 2MB로 제한되어있습니다.
Width는 유니티 등에서 인식할 타겟의 물리적 크기에 대해 설정합니다.(타겟이 크면 모델이 작아보일 수 있음)
생성이 완료되면 다음과 같이 리스트에 타겟이 추가된 것을 확인할 수 있고, 확인 후 Download Database(All)을 클릭하여 데이터베이스를 다운로드합니다.
development platform 에서 Unity Editor를 선택한 뒤 Download를 클릭합니다.
이후 다운로드된 파일을 Unity의 Project > Assets에 넣어줍니다.
Import가 끝나면 Hierachy의 ImageTarget을 선택하여 Inspector에서 데이터베이스를 선택해줍니다.
해당 타겟이 인식되면 나타나게 될 오브젝트를 ImageTarget 안에 넣어줍니다.
저는 iPhone을 사용했고, 빌드 후 테스트해봅니다.
'Unity' 카테고리의 다른 글
[Unity] iOS 빌드 구성하기 (0) | 2021.12.16 |
---|---|
RigidBody, Collider 예제 (0) | 2021.12.10 |
[TIL - 21.12.08] 입력 클래스(Input Class)와 도형 이동 (0) | 2021.12.09 |