Unity 검색

Unity에서 AR 애플리케이션 만들기: 최신 팁 및 리소스

최근 업데이트: 2018년 11월

AR Foundation과 그것이 활용하는 소프트웨어 아키텍처를 통해 Unity 개발자들은 이제 ARCore, ARKit 및 미래 플랫폼의 핵심 기능을 지원하는 공통 API를 갖게 되었습니다. ARCore와 ARKit는 각각 일반적인 기능뿐만 아니라 플랫폼 고유의 기능을 혼합하여 제공합니다. AR Foundation과 플랫폼별 SDK를 사용하면 AR 콘텐츠를 제작하는 데 필요한 모든 Unity의 기능을 이용할 수 있으며, 심도 깊은 학습 자료 모음 또한 확충할 수 있습니다.

ARCore

ARCore는 Google이 개발하고 관리하는 플러그인입니다. ARCore용 Unity SDK는 여기에서 다운로드할 수 있습니다. ARCore는 엔진에 직접 통합되었으며(XR 설정에 이를 위한 작은 체크박스가 있음) 2017.1 이상 버전과 호환됩니다.

오즈의 마법사

Google의 ARCore Wizard of Oz 앱

ARCore SDK는 증강 이미지, 클라우드 앵커 및 컴퓨터 비전 등의 기능을 보여주는 샘플 씬 HelloAR을 제공합니다. ARCore에 포함된 다른 독특한 기능으로는 특징 포인트빠른 프리뷰가 있습니다.

HelloAR은 수평면과 수직면을 모두 찾을 수 있도록 사전 설정되어 있습니다. 사용자가 씬을 탭할 때마다 생성되는 Android 앤디의 프리팹이 포함되어 있지만, 이 프리팹은 여러분만의 3D 모델로 쉽게 교체할 수 있습니다. HelloAR 씬 위에 빌드할 때 알아둬야 할 것은 ARCore가 세션을 스크립터블 에셋으로 처리한다는 것입니다. 따라서 ARCore의 특정 기능을 사용하고자 하는 경우 올바른 세션 데이터를 사용하여 세션을 설정하도록 해야 합니다.

증강 이미지 데이터베이스는 세션에서 특별히 할당하는 스크립터블 에셋의 예입니다. 증강 이미지를 사용하면 프로젝트 내에서 한 번에 여러 이미지를 선택하고 이를 마우스 오른쪽 버튼으로 클릭한 다음 생성(Create) 메뉴 내에 하위 메뉴를 만들 수 있습니다. 그러면 증강 이미지는 선택한 모든 이미지를 단일 스크립터블 에셋으로 패키지 처리하고, 컴퓨터 비전이 이러한 오브젝트를 얼마나 쉽게 인식하고 추적할 수 있는지를 기준으로 이미지의 점수를 매깁니다(85점 이상 권장).

ARKit

ARCore와 달리 이 SDK는 Unity가 개발하고 관리합니다. 이 SDK는 2017.1 이상 버전 및 iOS 11.3 이상을 실행하는 Apple 기기에서 작동하며 여기에서 이용할 수 있습니다. SDK와 함께 제공되는 샘플 씬에는 초점 정사각형, 섀도우, 오클루전, 이미지 앵커, 평면 메시, 재현지화 및 얼굴 추적을 비롯한 모든 주요 ARKit 기능이 포함되어 있습니다. ARKit 고유의 다른 기능으로는 환경 프로브, 월드 맵 및 추적 가능한 이미지가 있습니다. 이와 관련한 자세한 내용은 ARKit 문서에서 확인할 수 있습니다.

AR Foundation

AR Foundation은 ARKit와 ARCore의 핵심 기능을 Unity 내부의 공통 추상화 API로 가져오는 솔루션입니다. 현재는 일부 핵심 기능만을 지원한다는 점을 참고하시기 바랍니다. ARKit의 환경 프로브 또는 ARCore의 빠른 프리뷰와 같은 플랫폼별 기능을 사용하고자 하는 경우 특정 SDK를 통해서만 이용할 수 있습니다. 그러나 새로운 기능이 AR Foundation에 지속적으로 추가될 예정입니다. 현재로서는 수직 및 수평 평면 검출, 광원 추정, 특징 포인트, AR 스케일링 및 AR 앵커 등의 기능을 지원합니다.

AR Foundation은 2018.1 이상 버전에서 사용 가능하며, 패키지 관리자를 통한 설치 방법을 보여줍니다.를 통해 설치할 수 있습니다.

유니티의 XR 에반젤리스트인 댄 밀러(Dan Miller)가 Unite 세션 17분 30초 지점에서 단계별 AR Foundation 설치 방법을 보여줍니다.

GNOG

ARKit로 생성된 KO_OP의 GNOG

AR의 스케일 문제 및 해결 방법

AR 콘텐츠에서 실제 에셋을 확대/축소하는 데는 위험이 따릅니다. 예를 들어 게임 오브젝트에 물리가 있는 경우 에셋을 축소하면 물리 동작이 변화하고 불안정해질 수 있으며, 복잡한 레벨에서는 제대로 작동하지 않게 됩니다. 또한 Nav Mesh, 터레인, 라이트맵 또는 파티클 시스템과 같은 일부 유니티 시스템은 베이크된 후에는 변경할 수 없습니다.

테이블 시티 프리뷰

대신 간편한 카메라 트릭을 활용하여 에셋이 축소된 것처럼 보이게 할 수 있습니다. 카메라의 위치를 조정하거나 여러 대의 카메라를 사용하여 확대/축소한 효과를 만들 수 있습니다. 이 메서드를 자세히 알아보려면 유니티의 릭 존슨(Rick Johnson) 엔지니어가 작성한 블로그 포스트이 블로그 게시물을 읽어보세요. 이러한 확대/축소 팁의 데모는 지미(Jimmy)와 팀(Tim)의 강연의 42:05 지점부터 확인할 수 있습니다.

추가 팁: 사용자가 기기를 너무 오랫동안 가만히 들고 있으면 특징 포인트가 사라집니다. 기기가 한 방향을 향한 하나의 이미지만 보는 경우 환경을 인식하기가 매우 어려우므로 앱 사용 시 카메라를 움직여야 특징을 제대로 감지할 수 있습니다.

Unity 점을 사용한 개발

시각적 및/또는 오디오 큐를 제공하여 사용자가 기기를 충분히 움직여 특징 포인트를 파악할 수 있도록 해야 합니다. 예를 들어 지침이나 가이드라인이 표시되는 중심점 등 시각적 큐를 표시할 위치를 신중하게 선택하세요.

사용자의 위치에서 가까운 거리에서 액션 및/또는 게임플레이를 수행해야 한다는 점을 알리는 큐를 제공하세요. 또한 주변 환경의 조명이 너무 어둡거나 밝으면 카메라가 일부 정보를 파악하지 못할 수도 있다는 점도 알려야 합니다. 조명과 그림자의 균형을 맞추어 카메라가 표면의 굴곡점을 파악할 수 있게 해야 합니다.

AR 앱의 UI를 간결하고 깔끔하며 유연하게 유지하세요. 지나치게 많은 텍스트, UI 요소, 캐릭터, 폭발 등으로 사용자의 주의를 분산시키지 않도록 하세요. 가급적 UI의 액션과 요소를 하나의 중심 지점에 모두 포함하도록 하세요.

마지막으로, 앱 실행 시 예기치 않게 공간에서 움직이는 사람들 등 제어할 수 없는 요소에 맞춰 조정할 수 있는 옵션을 제공하세요. 예를 들어, 플레이어가 콘텐츠를 움직여 플레이할 영역 및/또는 표면을 직접 선택할 수 있는 기즈모를 제공하세요.

AR 콘텐츠 개발 시 유용한 최고의 툴셋 7가지

Vuforia AR 툴킷: 2017.2 이상 버전에서 사용 가능한 Vuforia의 AR 툴킷은 더 많은 AR 콘텐츠 기능을 제공하며 ARCore, ARKit 및 Microsoft Hololens와 함께 사용할 수 있습니다.

Vuforia

Vuforia의 이미지 타겟 기능

페이셜 AR 리모트: 페이셜 AR 리모트는 Unity 에디터에 직접 연결된 기기를 사용하여 적은 오버헤드로 성능을 캡처하는 방법입니다. 이는 애니메이션 제작뿐만 아니라 캐릭터 및 블렌드 셰이프 모델링 및 리깅에도 유용하며, Unity에서 자신만의 애니모지 또는 메모지 타입의 인터랙션을 간단하게 빌드할 수 있도록 해줍니다. 이를 통해 개발자는 모델을 기기에 빌드할 필요 없이 에디터에서 반복할 수 있어 시간이 많이 소요되는 프로세스 단계가 제거됩니다. 자세한 내용은 문서를 참조하세요.

Unity ARKit 리모트: 유니티의 ARKit 플러그인과 함께 사용할 수 있는 기능입니다. Unity ARKit Remote를 사용하면 iOS 기기에서 Unity 에디터에 ARKit 데이터를 제공하는 특수한 앱을 실행하여 실시간으로 이러한 데이터에 응답할 수 있습니다.

Unity UI: Unity UI를 기본 툴셋 중 하나로 사용하여 AR 게임 또는 앱의 UI에 창의성을 더할 수 있습니다. Unity UI 사용에 관한 다양한 팁은 다음 문서에서 참조할 수 있습니다.

Unity UI 관련 문서

Unity UI에 관한 최고의 최적화 팁

베스트 프랙티스: Unity UI 최적화하기

UI 프로파일러

Text Mesh Pro: Unity UI와 Text Mesh Pro를 함께 사용하면 풍부하고 동적인 UI를 더욱 유연하게 제작할 수 있습니다. 이 툴은 에셋 스토어에서 무료로 제공됩니다..

TextMesh Pro는 고급 텍스트 렌더링 기술과 여러 맞춤 셰이더를 사용하여 화질을 대폭 향상하는 동시에 사용자가 더욱 자유롭게 텍스트 스타일링과 텍스처링을 수행할 수 있도록 합니다.

Text Mesh Pro

타임라인: 타임라인은 Unity에 자체 탑재된 온전한 멀티트랙 시퀀서입니다. 타임라인을 사용하면 복잡한 코딩을 수행하지 않아도 컷씬과 시퀀스 제작을 위한 모든 요소를 제어할 수 있습니다. 애니메이션 클립, 주요 프레임, 오디오 등을 시퀀싱할 수 있습니다. 타임라인에 관한 최신 학습 리소스의 간략한 개요를 확인하세요.

타임라인 멀티트랙 시퀀서

파티클 시스템: 유니티는 수많은 파티클 시스템을 만들기 위한 광범위한 모듈 목록을 제공합니다. 먼저 파티클 시스템의 최신 기능에 대한 개요부터 살펴보세요. 파티클 시스템 문서는 여기에서 확인할 수 있습니다.

애널리틱스: Unity 애널리틱스는 게임을 출시할 때뿐 아니라 테스트를 진행할 때에도 유용하게 사용할 수 있습니다. 예를 들어, 플레이어들이 애플리케이션의 UI를 얼마나 이해하며 어떻게 받아들이는지 확인할 수 있습니다. 더 읽어보기에서 게임 출시 전, 게임 출시 중 및 게임 출시 후 애널리틱스 사용하기에 관한 내용을 자세히 알아보세요.

하드웨어 부담을 줄이는 AR 최적화 팁

AR 앱을 실행하면 여러 대의 카메라가 동시에 작동하고, 뎁스 감지 기능이 작동하고, 컴퓨터를 집중적으로 이용하는 알고리즘이 실행되는 등 하드웨어 성능이 상당히 소모됩니다. 또한 AR은 핸드헬드 기반의 움직임이 많은 특성을 지닌 매체이므로 메모리 관리, 경험의 물리적 영역 처리 및 제어 등 상당한 수준의 성능 최적화를 요구합니다.

이 데모에서는에서 AR 애플리케이션을 멋지게 유지하는 데 도움이 되는 세 가지 유용한 최적화 팁을 확인해보세요.

리소스 더 보기