
ARAR 게임이 무엇이냐고 물어본다면 대부분 포켓몬go를 언급한다. 이처럼 AR 게임에 대한 정확한 정의는 몰라도 머릿속에서는 대충 이미지가 상상이 될텐데, 간단히 AR 게임은 증강현실을 활용한 게임이다.
AR(Argumented Reality), 증강현실은 실제 세계에 존재하는 공간과 물체에 가상의 오브젝트를 혼합해 만드는 기술이다. 즉 카메라로 현실공간을 투시한 화면에 가상의 게임 오브젝트를 실시간으로 함께 보여주는 것이다.
대표적인 예시로는 네비게이션이 있으며, 게임으로는 위에서 언급한 포켓몬go를 들 수 있다. 가상의 이미지나 공간이 아닌 현실의 공간에 기반하여 렌더링하기 때문에 사용자와 직접적인 상호작용이 가능하고, 이를 활용해 마치 가상의 물체가 현실에 있는 듯한 느낌을 부여한다.
AR CoreAR Core는 안드로이드 기반 디바이스에서 구동되는 AR 컨텐츠를 Unity에서 구현할 수 있는 SDK이다. 단순히 카메라를 통해 투영되는 화면에 가상의 오브젝트를 혼합하는 것을 넘어, 사물을 인식하고 기기의 위치를 파악해 실제 공간 상의 배치된 물체를 표현한다.
AR 컨텐츠를 제작하기 위해서는 기기가 AR 기능이 지원되는지 확인할 필요가 있기에, 개발 전 구동을 위한 최소 사양을 지정하는 등 사전 환경 구축이 필요하다.
AR 환경 설정먼저 AR 게임을 개발하기 위해서는 기존 PC 플랫폼 기반 설정에서 AR 개발을 위한 설정으로 바꾸기 위한 과정들을 알아야할 필요가 있다.
URP 3D로 프로젝트 생성AR mobile Template을 다운 받아서 실행해도 무관하다.

Build Setting -> Android 'Switch Platform'Switch Platform 이후 빌드를 할 때 Build And Run을 누르면 자동으로 빌드 파일이 생성되고 연결된 AR 기기에 설치 이후 실행까지 된다.
다만 AR 빌드의 경우 AR 기기에서 제대로 동작하는지 확인해야하기 때문에 디버깅 과정을 매번 빌드를 통해 진행할 필요가 있다. (상당히 번거롭다)

Project Settings -> Other Setting 
개발에 사용된 기능을 지원하는 최소 사양을 정해줘야한다. 최소 사양을 정하지 않으면 기능을 지원하지 않는 모델에서 해당 게임을 다운 받을 수 있지만 제대로 실행이 안될 것이기 때문이다.

해당 설정과 함께 ARMv7과 ARM64가 체크되어있는지도 확인한다.

Package Manager -> AR Foundation, Google ARCore XR Plugin 설치
Project Settings -> XR Plug-in Management -> Android -> Google ARCore 체크
XR -> AR Session, XR Origin (Mobile AR) 추가AR Session : 모바일 기기와의 통신, AR 컨텐츠가 구동되기 위한 핵심적인 역할
XR Origin : AR 기기의 카메라와 연동되어 제어하는 역할

Scene MainCamera 삭제XR Origin에 붙어있는 Main Camera가 AR 기기의 카메라와 연동되어 주위 환경에 대한 정보를 얻어올 것이기 때문에 기존 하이어라키에 있던 Main Camera는 삭제를 해줘야한다.

URP Renderer Quality 확인 -> AR Background Renderer Feature 추가해당 설정까지 마치고 빌드를 하게 되면 설치된 파일을 AR 기기에서 실행시켰을 때 기기의 카메라로 비춰지는 화면이 나타나게 될 것이다.


여기까지가 기본 AR 개발 세팅이며, 이제 AR Foundation에서 지원하는 기능을 통해 카메라로 얻어오는 주위 환경의 데이터를 가공하고 가상의 오브젝트를 추가할 수 있다.