Unity AR App 개발 - Multiple Image Tracking App 개발
서론
Unity 기반 안드로이드용 AR app 개발을 하기 위해 조사 및 테스트한 내용을 정리하기 위해 본 포스트를 작성하였다. 세번째로 여러 이미지를 인식하여 각각 다른 이미지를 띄우는 Multiple Image Tracking App 개발에 대해 알아보자.
1. AR 모듈 설치
1.1 메뉴 탭의 Window > Package Manager 클릭
1.2 Packages: In Project 항목 클릭하여 Unity registry 로 변경
1.3 우측 상단 검색창에 ar 입력
1.4 검색 결과 목록에서 AR Foundation 선택
1.5 우측 하단 Install 클릭
1.6 설치 완료 후 Package Manager 팝업 닫기
1.7 Hierarchy 탭에서 Main Camera 항목 삭제
1.8 + 버튼 클릭하여 XR > AR Session / AR Session Origin 각각 추가한다
2. Image Library 생성
2.1 Project 탭에서 Assets 항목 우클릭
2.2 Create > folder 클릭하여 material 폴더 생성
2.3 Material 폴더 우클릭 하여 create > XR > reference Image Object 생성
2.4 AR 앱으로 촬영할 대상 이미지 파일을 드래그하여 material 폴더로 복사
2.5 생성한 Image Object 선택 후 Inspector 탭에서 Add Image 버튼 클릭
2.6 Texture 2D 항목에 대상 이미지 파일을 드래그 하여 설정
2.7 Inspector 탭에서 Specify Size 체크 후 Physical Size 값 설정 (인식할 이미지 크기 설정) ※ X 값 또는 Y 값 입력 시 다른 값은 비율에 맞게 자동 입력
2.8 인식할 이미지 개수만큼 2.4 ~ 2.7 단계 반복
3. Image Prefab 생성
3.1 AR 앱으로 촬영할 대상 위에 표시할 이미지 파일을 material 폴더로 복사
3.2 Hierarchy 탭에서 + 버튼을 클릭하여 3D Object > Quad 선택
3.3 생성한 Quad 항목을 선택
3.4 Inspector 탭의 하단 빈곳으로 복사한 이미지 파일을 드래그하여 이동
3.5 Hierarchy 탭에서 생성한 Quad 항목을 드래그하여 Project 탭의 material 폴더로 이동
3.6 Material 폴더에 Quad 항목이 생성된 것을 확인 후 Hierarchy 탭에서 Quad 항목 삭제
3.7 표시할 이미지 개수만큼 반복
4. AR 설정
4.1 Hierarchy 탭에서 AR Session Origin 항목 클릭
4.2 Inspector 탭에서 Add Component 클릭
4.3 AR Tracked Image Manager 추가
4.4 AR Tracked Image Manager 설정
4.4.1 Serialized Library에 2.2에서 생성한 Image Library를 드래그 하여 이동
4.4.2 Max Number Of Moving Images 의 값을 설정 (인식할 이미지 개수)
4.4.3 Tracked Image Prefab에 None 으로 설정
5. Multiple Image Tracking 스크립트 추가
5.1 Hierarchy 탭에서 AR Session Origin 항목 클릭
5.2 Inspector 탭에서 Add Component 클릭
5.3 Search 에서 New script 클릭
5.4 Name 부분에 생성할 스크립트 명 작성
5.5 Create and Add 클릭
5.6 생성된 스크립트 항목의 우측 아이콘 클릭
5.7 메뉴에서 Edit Script 클릭
6. Multiple Image Tracking 스크립트 코드 작성
6.1 라이브러리 및 전역변수 선언
6.2 Awake 함수 선언
6.3 이미지 감지 이벤트 처리 함수 선언
7. Multiple script prefab 설정
7.1 Hierarchy 탭에서 AR Session Origin 항목 클릭
7.2 추가한 스크립트 내 Prefabs 에서 + 버튼을 눌러 목록 증가
7.3 Prefabs 목록에 표시할 이미지 Prefab 등록