휴대형 증강 현실 템플릿 퀵스타트

휴대형 증강 현실 템플릿을 사용하여 프로젝트를 구성하고 테스트를 위해 모바일 디바이스를 준비하는 방법을 안내합니다.

Choose your operating system:

Windows

macOS

Linux

휴대형 증강 현실 템플릿은 언리얼 엔진 4.27 이상을 사용하는 언리얼 엔진 프로젝트에서 사용할 수 있습니다. 이 템플릿은 Android와 iOS 디바이스를 타깃으로 하는 휴대형 증강 현실 프로젝트를 위한 간단한 토대를 제공하며 프로젝트의 필요에 맞게 수정할 수 있습니다.

이 가이드에서는 증강 현실 템플릿과 함께 제공되는 기능, 모바일 디바이스에서 실행하고 탐색하는 방법, 나만의 휴대형 증강 현실 애플리케이션 제작을 시작할 수 있도록 언리얼 에디터에서 해당 기능을 찾을 수 있는 위치를 안내합니다.

1. 사용자 과정 및 기능 개요

증강 현실 템플릿은 다음과 같은 단계를 따르는 사용자 과정이 있는 간단한 휴대형 증강 현실 애플리케이션입니다.

  1. 사용자가 애플리케이션을 엽니다.

  2. 애플리케이션이 환경 스캔을 시작한다는 메시지를 표시합니다. 계속하려면 사용자가 카메라 권한을 허용해야 합니다.

  3. 사용자가 메시지를 확인하면 애플리케이션이 사용자의 카메라를 사용하여 환경을 스캔한 후 환경에 플레인을 추가하여 가상 씬을 정의합니다.

  4. 애플리케이션이 사용자에게 인터랙션할 플레인을 선택하라는 메시지를 표시합니다.

  5. 사용자가 플레인을 선택하면 그 위에 가상 오브젝트를 배치할 수 있습니다.

  6. 가상 오브젝트를 배치하고 나면 사용자는 다양한 트랜스폼 툴을 사용하여 오브젝트를 조작할 수 있습니다. HUD에서는 환경설정 옵션, 증강 현실 씬의 스냅샷을 찍을 수 있는 기능, 플레인 선택 단계로 초기화할 수 있는 옵션이 제공됩니다.

이 템플릿은 다음과 같은 기능을 보여줍니다.

  • 단순 스테이트 머신에 의해 제어되는 애플리케이션 워크플로

  • 다음을 위한 데이터를 수집하기 위해 환경 스캔

    • 가상 씬에서 인터랙션할 플레인 정의

    • 라이팅 및 씬 뎁스 정보

  • UMG 위젯을 사용하여 카메라에서 촬영한 환경 표시

  • 가상 씬에서의 터치스크린 기반 인터랙션

    • 가상 오브젝트 조작

    • 사용자의 환경에 의해 정의된 플레인 선택

  • 다양한 유형의 인터랙션을 위한 제스처 기반 터치 입력 사용

  • 다양한 유형의 애플리케이션을 타깃으로 하는 다양한 스타일 옵션을 갖춘 기본 UI

  • 완전히 컴포짓된 증강 현실 씬에서 이미지를 캡처하여 카메라 롤에 저장

2. Compatibility

휴대형 증강 현실 템플릿은 다음과 같은 요구 사항을 충족하는 모든 디바이스에서 작동합니다.

  • 언리얼 엔진에서 지원하는 디바이스여야 합니다.

  • ARKit(iOS) 또는 ARCore(Android)를 지원하는 디바이스여야 합니다.

현재 버전의 언리얼 엔진에서 지원하는 디바이스의 목록은

[iOS 디바이스 호환성](sharing-and-releasing-projects/iOS-and-tvOS/DeviceCompatibility)
[Android 디바이스 호환성](sharing-and-releasing-projects/android/packaging-and-publishing/DeviceCompatibility)
페이지를 참고하세요.

ARKit를 지원하는 iOS 디바이스의 목록은 Apple 개발자 ARKit 문서에서 확인할 수 있습니다.

ARKit를 지원하는 Android 디바이스의 목록은 Google 개발자 AR 문서에서 확인할 수 있습니다.

3. 템플릿 구성하기

증강 현실 템플릿을 사용하려면 템플릿을 베이스로 사용하는 프로젝트를 생성한 후 원하는 모바일 디바이스에서 패키징할 프로젝트를 구성해야 합니다. 이 섹션에서는 필요한 단계를 안내합니다.

  1. 언리얼 에디터 를 엽니다. 새 프로젝트를 선택하거나 생성(Select or Create New Project) 메뉴에서 새 프로젝트 카테고리(New Project Categories) 로 스크롤을 내려**게임(Games) 을 선택하고 다음(Next)** 을 클릭합니다.

'게임' 카테고리를 사용하여 새 프로젝트 생성

증강 현실 템플릿은 '건축, 엔지니어링 및 건설(Architecture, Engineering, and Construction)', '자동차, 제품 디자인 및 제조(Automotive, Product Design, and Manufacturing)' 카테고리에서도 사용할 수 있습니다.

  1. 템플릿 선택(Select Template) 메뉴에서 휴대형 증강 현실(Handheld AR) 템플릿을 선택합니다. 프로젝트를 위한 이름(Name)위치(Location) 를 선택합니다. 이 예시에서는 프로젝트를 ARTemplateGame 으로 명명합니다. 설정이 완료되었다면 프로젝트 생성(Create Project) 을 클릭합니다.

휴대용 증강 현실 템플릿 선택

위 단계를 완료하면 프로젝트가 언리얼 에디터에서 열리며, HandheldARBlankMap 이 디폴트 맵이 됩니다.

4. 디바이스에서 패키징 및 디플로이

프로젝트 구성을 완료하려면 프로젝트를 모바일 디바이스에서 패키징할 준비를 해야 합니다. Android와 iOS 모두 프로젝트 세팅에서 서로 다른 구성 단계가 필요합니다.

Android 구성

Android를 위한 휴대형 증강 현실 프로젝트를 준비하려면 다음 단계를 완료해야 합니다.

  1. 컴퓨터에 필요한 버전의 Android Studio 를 설치합니다.

  2. 언리얼 엔진 폴더에서 AndroidSetup 스크립트를 실행하여 필요한 SDK 및 NDK 컴포넌트가 컴퓨터에 설치되어 있는지 확인합니다. 사용하는 운영 체제에 따라 변경 사항을 적용하려면 컴퓨터를 재부팅해야 할 수 있습니다.

  3. 프로젝트 세팅(Project Settings) 에서 Android 세팅을 찾고 'APK 패키징(APK Packaging) 아래의 지금 환경설정(Configure Now) 버튼을 클릭하여 Android 플랫폼을 위한 프로젝트를 환경설정합니다. 아직 Android SDK 라이선스를 수락하지 않았다면 SDK 라이선스 수락(Accept SDK License) 버튼도 클릭합니다.

  4. 디바이스가 개발자 모드(Developer Mode) 로 설정되어 있고 컴퓨터와 USB 연결을 허용하도록 구성되어 있는지 확인합니다.

이 단계에 대한 자세한 내용은Android 구성 섹션을 참고하세요.

iOS 구성

iOS를 위한 휴대형 증강 현실 프로젝트를 준비하려면 다음 단계를 따라야 합니다.

  1. Mac에 최신 버전의 Xcode 를 설치합니다.

  2. Apple Developer Portal에서 프로젝트를 위한 Provisioning ProfileSigning Certificate 을 얻습니다.

    • Provisioning Profile에는 디바이스의 카메라를 사용할 수 있는 권한이 있어야 합니다.

  3. 프로젝트 세팅 을 열고 Provisioning Profile과 Signing Certificate를 임포트합니다.

이 단계에 대한 자세한 내용은iOS 구성 섹션을 참고하세요.

패키징 및 실행

모바일 디바이스를 지원하기 위해 필요한 구성을 완료했다면**파일(File) > 프로젝트 패키지(Package Project)** 를 클릭하고 적절한 디바이스를 위한 패키징 옵션을 선택하여 프로젝트를 패키지로 만들 수 있습니다. 그러면 나중에 디바이스에 디플로이할 수 있도록 패키지로 만든 빌드가 생성됩니다.

또한 메인 툴바에서 실행(Launch) 드롭다운을 클릭하면 표시되는 디바이스 목록에서 디바이스를 선택하여 디바이스에서 직접 실행할 수도 있습니다. 디바이스 매니저(Device Manager) 메뉴에서 디바이스의 상태를 확인하여 연결되었는지 확인할 수 있습니다. 언리얼 엔진은 프로젝트를 자동으로 패키징한 다음 디바이스에 푸시하여 실행합니다.

5. 애플리케이션 살펴보기

이 섹션에서는 휴대형 증강 현실 템플릿에서 바로 사용 가능한 환경설정을 위한 사용자 과정을 안내합니다.

스캔 및 오브젝트 배치하기

휴대형 증강 현실 템플릿이 실행되면 디바이스의 카메라를 사용하여 주변의 환경을 표시합니다. 환경을 스캔하라는 메시지가 표시됩니다.

증강 현실 템플릿의 스캔 시작 메시지

스캔 시작(Begin Scan) 버튼을 클릭하여 시작합니다. 이렇게 하면 가상 오브젝트를 위한 3D 씬을 빌드하는 데 필요한 데이터가 수집됩니다.

애플리케이션이 사진을 찍고 비디오를 녹화할 수 있는 권한을 요청합니다. 카메라가 환경을 스캔하고 표시하기 위해 필요한 권한입니다.

모바일 디바이스가 스캔을 마치면 애플리케이션에서 여러 개의 플레인 이 표시되고 화면을 탭하여 하나를 선택하라는 메시지가 나타납니다. 플레인은 표면 전체에 색이 있는 물결표가 있는 상태로 표시됩니다. 애플리케이션은 시각적 노이즈를 줄이기 위해 한 번에 하나의 플레인만 표시하고, 가장 가까운 플레인이 보이도록 설정합니다.

플레인을 스캔 중일 때의 디스플레이

플레인을 선택하고 나면 하단에 툴바 UI가 나타나고 가상 오브젝트를 배치할 수 있습니다.

하단 툴바 UI

템플릿은 한 번에 하나의 가상 오브젝트를 배치할 수 있지만, 이 오브젝트를 배치하는 워크플로를 사용하여 애플리케이션에 다른 오브젝트도 배치할 수 있습니다.

오브젝트 조작하기

휴대형 증강 현실 템플릿에서는 터치스크린을 사용하여 가상 오브젝트를 이동, 스케일 또는 회전 시킬 수 있습니다.

오브젝트를 이동시키려면 탭하고 배치하려는 지면을 따라 드래그하면 됩니다. 한 손가락으로 터치하면 이동 HUD가 표시됩니다. 오브젝트는 배치된 플레인의 바운드에 구속됩니다. 이러한 바운드는 오브젝트를 움직이기 시작할 때 HUD에 표시됩니다.

엄지와 검지를 오므리거나 벌려서 오브젝트의 크기를 조정할 수 있습니다. 템플릿은 화면 방향을 기준으로 대부분 수직으로 입력되는 오므리기를 인식합니다. 크기를 조정하면 UI에 오브젝트의 새 크기가 센티미터 단위로 표시됩니다.

오브젝트를 회전하려면 화면에 두 손가락을 놓고 왼쪽이나 오른쪽으로 스와이프합니다. 시스템은 화면 방향을 기준으로 대부분 수평으로 입력되는 스와이프와 드래그를 회전으로 인식합니다. 해당 동작을 입력하면 오브젝트 맨 아래 부분에 있는 원과 현재 월드 회전의 각도를 포함한 회전 HUD가 표시됩니다.

UI 및 메뉴 살펴보기

기본적으로 휴대형 증강 현실 템플릿의 UI는 화면 하단에 표시됩니다. 여기에는 툴바와 왼쪽 하단 모서리에 떠 있는 정보(Info) 버튼이 포함됩니다.

스냅샷

스냅샷(Snapshot) 버튼은 가상 오브젝트가 화면에 표시된 상태로 사진을 찍어 디바이스의 카메라 롤에 저장합니다. 스냅샷 저장됨(Snapshot Saved) 이라는 메시지가 표시되면 스냅샷이 성공적으로 촬영된 것입니다.

4.27 버전 기준으로 휴대형 증강 현실 템플릿은 스크린샷을 Android에서는 카메라 롤에 저장하지만 iOS에서는 그렇지 않습니다.

재설정

리셋(Reset) 버튼은 가상 오브젝트를 제거하고 플레인을 선택하는 메시지가 표시되는 단계로 되돌아갑니다.

옵션 메뉴

옵션(Options) 버튼을 누르면 환경설정 옵션을 제공하는 메뉴가 열립니다.

옵션 메뉴

스냅(Snapping) 을 토글하면 이동 또는 크기 조정 시 가상 오브젝트가 별개의 1cm 증가분으로 스냅됩니다. 회전은 5도 각도로 스냅됩니다.

인터랙션 HUD(Interact HUD) 를 토글하면 화면과 인터랙션할 때까지 HUD가 꺼집니다. 따라서 앱에서도 깔끔한 스크린샷을 찍을 수 있습니다.

UI 스타일(UI Style) 선택기에서는 세 가지의 UI 스타일이 순환합니다. '라이트(Light)' 및 '다크(Dark)' 스타일에서는 화면 하단의 툴바와 함께 디폴트 UI가 표시됩니다. 게임 스타일은 모든 툴이 수평 요소 대신 원형 요소에 배열되어 더욱 스타일리쉬한 HUD를 보여줍니다. '게임' 스타일은 '라이트' 및 '다크' 스타일과 동일한 기능과 흐름을 모두 지원하지만 다른 레이아웃에서 보여줍니다.

'게임' 스타일로 표시되는 HUD

정보 메뉴

정보 메뉴(Info Menu) 는 가상 오브젝트를 조작하기 위한 제스처를 안내하는 간단한 시각적 가이드를 표시합니다.

인식할 수 있는 제스처 튜토리얼을 표시하는 정보 메뉴

6. 템플릿 퀵 레퍼런스

휴대형 증강 현실 템플릿을 위한 모든 에셋은 '콘텐츠 브라우저(Content Browser)'의 Handheld AR 폴더 안에 있습니다. 휴대형 증강 현실 템플릿은 주로 다음 에셋에 따라 달라집니다.

에셋 이름

경로

요약

BP_ARGameMode

HandheldAR/Blueprints/GameFramework/BP_ARGameMode

휴대형 증강 현실 템플릿에서 사용되는 게임 모드입니다. 증강 현실 폰을 초기화합니다.

BP_ARPawn

HandheldAR/Blueprints/GameFramework/BP_ARPawn

휴대형 증강 현실 템플릿에서 사용되는 폰 클래스입니다. HUD를 초기화하고 가상 씬의 설정과 사용자 입력을 처리합니다.

BP_MainMenu

HandheldAR/Blueprints/UI/BP_MainMenu

휴대형 증강 현실 템플릿의 메인 UI입니다. 다른 메뉴를 제어하고 카메라에서 증강 현실 씬을 초기화합니다.

BP_Plane

HandheldAR/Blueprints/Placeable/BP_Plane

배치 가능한 오브젝트를 배치할 수 있는 플레인입니다. 환경을 스캔한 후 증강 현실 폰에 의해 구성됩니다.

BP_Placeable

HandheldAR/Blueprints/Placeable/BP_Placeable

사용자가 인터랙션할 수 있는 배치 가능한 오브젝트에 대한 베이스 블루프린트 클래스입니다.

이러한 액터와 주요 기능을 찾을 수 있는 위치에 대한 자세한 내용은 휴대형 증강 현실 템플릿 퀵스타트를 참고하세요.

7. 직접 해보기

이제 휴대형 증강 현실 템플릿을 구성하고 모바일 디바이스에서 탐색할 수 있게 되었으므로, 휴대형 증강 현실 애플리케이션 개발을 위한 출발점으로 사용할 수 있게 되었습니다. 휴대형 증강 현실 템플릿 레퍼런스 페이지에서 이 템플릿을 구성하는 클래스와 클래스를 수정하는 방법에 대한 자세한 내용을 확인해보세요.