- 목차
개요
Unity용 ARCore SDK : 구버전 프로젝트 (2020 미만)(웹페이지 갱신됨)
DOC : Android 빠른 시작- AR Foundation (+ ARCore XR 플러그인, ARCore 확장 프로그램) (2019.4.3.f1 이상)
DOC : AR Foundation 시작하기
두 버전 서로간 호환이 되지 않는다. Unity용 ARCore SDK 이전 가이드 (웹페이지 갱신됨)
지원 버전
2021.3 Document (2021.3.0f1) 기준
- SDK : 30.0.2 (아직 SDK Build-tools 30 초과 버전은 지원하지 않음)
- NDK : r21d (21.3.6528147)
Unity | NDK |
---|---|
2019.4 LTS | r19 () |
2020.3 LTS | r19 () |
2021.2 | r21d (21.3.6528147) |
- JDK : OpenJDK 1.8
에디터 설정
1. 에디터 준비
- 모듈에서 “Android Build Support” 및 하위 항목을 설치한다. (Android SDK & NDK Tools, OpenJDK)
- Android studio에서 제공하는 녀석하고 약간의 차이가 있다. (파일 개수 등)
정신 건강을 위해 그냥 설치하자…
- Android studio에서 제공하는 녀석하고 약간의 차이가 있다. (파일 개수 등)
- 새 3D 프로젝트를 생성한다.
2. ARCore 확장 프로그램 패키지 설치 (Apache 2.0)
- DOC : Getting started extensions
- Windows → Package Manager → “+” 버튼 → “Add package from git URL…”
- 아래 URL을 텍스트 필드에 복사한다.
- “Add” 버튼 클릭
- “Enable Analytics for External Dependency Manager” 제목에 대화상자(2개 정도)가 뜨는데 오른쪽 아래 아무 버튼이나 누르자. (본인의 경우 "Yes"를 눌렀는데, "No"를 눌러도 될 것 같다.)
- ARCore Extensions를 설치하면서 종속 패키지(AR Foundation, ARCore XR Plugin)들을 자동으로 설치한다.
- 설치된 종속 패키지 항목들이 Package Manager에 보이지 않을 수 있지만, 에디터의 "Project"의 “Packages” 부분에 추가된 것을 확인할 수 있다.
- 설치된 종속 패키지 항목들이 Package Manager에 보이지 않을 수 있지만, 에디터의 "Project"의 “Packages” 부분에 추가된 것을 확인할 수 있다.
3. Android 환경 설정
- File → Build Settings → Platform → Android 선택 후, “Switch Platform” 버튼 클릭
- Edit → Perferences → External Tools
하단 부분에 Android SDK 경로들이 잘 설정 되었는지 확인한다.
Androud Build 관련 모듈을 정상적으로 잘 설치했다면, 자동으로 잘 인식되며 아래 이미지의 경고창이 뜨지 않게 된다.
만약 다른 버전의 Unity에서 Android 모듈을 설치했다면, 해당 모듈의 경로를 가져다 써도 된다. 경로 형태는 다음과 같다.
[유니티 설치 폴더]/Unity/Hub/Editor/[에디터 버전]/Editor/Data/PlaybackEngines/AndroidPlayer/
-
Project Settings 에서 설정해야 할 것 (Edit → Project Settings)
- XR Plug-in Management : ARCore 부분 체크
-
Player (Build Settings 7시 방향에 있는 Player Settings 버튼으로도 진입 가능), 오른쪽 안드로이드 아이콘 선택 후 진행한다.
- Other Settings → Rendering : “Auto Graphics API” 체크 해제 및 “Graphics APIs” 부분에 “Vulkan” 제거 (ARCore에서는 Vulkan을 지원하지 않음)
- Other Settings → Minimun API Level : Android 7.0 ‘Nougat’ (API level 24)
- Other Settings → Target API Level : Android 11.0 (API level 30)
- Other Settings → Target Architectures
- ARM64 : Google Play 64비트 요구사항
- ARMv7 : 32비트 기기 지원
- Other Settings → Scripting Backend : 위에서 ARM64를 사용할 경우 "IL2CPP"로 선택
AR 기능 추가
-
Hierarchy 창에서 Main Camera를 삭제합니다.
-
Hierarchy 창에서 다음 게임 객체를 마우스 오른쪽 버튼으로 클릭하고 추가합니다 (아직 추가되지 않은 경우).
- XR > AR Session : AR 환경의 수명 주기를 제어
- XR > AR Session Origin : AR 좌표를 Unity 세계 좌표로 변환. 하위에 있는 AR Camera가 Main Camera를 대체한다.
- XR > ARCore Extensions
-
Hierarchy 창에서 ARCore Extensions 패키지를 선택합니다.
-
Inspector 창에서 각 필드마다 타겟 버튼을 클릭하고 다음과 같이 각 필드를 상응하는 게임 객체와 연결합니다.
- Session: 장면의 AR Session를 사용합니다.
- Session Origin: 장면의 AR Session Origin를 사용합니다.
- Camera Manager: 장면의 AR Camera를 사용합니다.
-
원하는 경우 Cloud Anchors 및 카메라 구성 필터의 다음 애셋을 만들고 연결합니다.
- Project > Assets 창에서 마우스 오른쪽 버튼을 클릭하고 Create > XR > ARCore Extensions Config를 선택합니다.
- Project > Assets 창에서 마우스 오른쪽 버튼을 클릭하고 Create > XR > Camera Config Filter를 선택합니다.
- Hierarchy 창에서 ARCore Extensions 패키지를 선택합니다.
- Inspector 창의 ARCore Extensions Config 필드에서 타겟 버튼을 클릭하고 ARCoreExtensionsConfig 애셋에 연결합니다.
- Inspector 창의 Camera Config Filter 필드에서 타겟 버튼을 클릭하고 ARCoreExtensionsCameraConfigFilter 애셋에 연결합니다.
기타
차라리 AR Foundation sample에서 샘플 프로젝트를 다운로드 받아 Unity로 실행한 뒤, 빌드세팅과 플러그인만 설정하면 아주 잘 된다.
참고 자료
Unity documentation
Android documentation
댓글
댓글 쓰기