Unity 검색

다루는 주제
공유

Is this article helpful for you?

Thank you for your feedback!

Unity MARS 스타터 템플릿은 사전 제작한 커스터마이징 가능한 구성 요소로, AR 개발 시간을 단축하고 프로젝트를 더 빠르게 완성할 수 있도록 도와줍니다. 아래 내용에서 각 템플릿에 관해 자세히 알아보세요. 다음 지침에 따라 Unity MARS 프로젝트에 스타터 템플릿을 활용할 수 있습니다. 증강 현실(AR) 경험을 개발하는 과정에서 Unity MARS 사용에 익숙해진 얼리어답터 사이에 흥미로운 변화가 나타나고 있습니다. 특정 기기에서 발생하는 문제를 해결하는 방법에 관해 논의하기보다, 콘텐츠가 실제 세계의 데이터와 연결되고 조정되는 방식에 관해 논의하기 시작했습니다. 단순한 문제 해결이 아니라, 공간 컴퓨팅으로 실현되는 보다 고차원적인 시나리오에 대한 고민으로 대화의 흐름이 바뀌었습니다. Unity MARS에 새로운 설계 언어가 도입되어 에디터와 런타임에서 실제 세계를 디지털 컨텍스트로 설명하고 참조할 수 있게 되었습니다. 이제 개발자는 새로운 언어를 익혀 더 큰 규모의 애플리케이션을 다룰 수 있습니다. 유니티는 고객의 피드백을 최대한 반영하여 AR에 사용되는 일반적인 워크플로를 보강하는 스타터 템플릿을 만들었습니다. Unity MARS에는 현재 다음 7가지 스타터 템플릿이 포함되어 있습니다.

  1. 빈 템플릿
  2. 테이블탑, 1:1 비율
  3. 테이블탑, 10:1 비율
  4. 페이스 마스크
  5. 게임, 기본
  6. 게임, 고급
  7. 교육/트레이닝

이제 하나씩 자세히 살펴보겠습니다.

빈 템플릿

기본 기능이 필요 없는 경우 빈 캔버스로 프로젝트를 시작할 수 있습니다. 이 템플릿에는 환경을 스캐닝할 때 시각적 신호를 확보하기 위한 포인트 클라우드 및 평면 비주얼라이저와 사전 구성된 MARS 세션, 사용자, 카메라가 포함됩니다. Unity MARS에서 씬을 열면 첫 번째 프록시가 준비됩니다.

Unity MARS는 실제 환경에서 확인한 위치와 대조해서 프록시 또는 실제 세계 오브젝트의 대체물을 만듭니다. 사용자의 위치가 시뮬레이션 카메라에 상응하므로 Unity MARS는 보통 첫 번째 일치하는 위치에 사용자를 먼저 추가합니다.

테이블탑 템플릿

'테이블 위에 오브젝트가 있는' 고전적인 씬을 예시로 제공했습니다. 이러한 종류의 설정을 만드는 방법은 다양한데, Unity MARS의 드래그 앤 드롭 워크플로나 Unity MARS 패널의 프록시 단축키를 사용하는 방법을 예로 들 수 있습니다. 템플릿에는 모든 조건 값이 이미 맞춰져 있다는 장점이 있습니다. 여기에 배치된 오브젝트는 평범한 Unity 큐브입니다. 사용자는 이 큐브를 자체적인 디지털 콘텐츠로 대체할 수 있습니다.

AR에서 실물 크기 오브젝트와 상호 작용할 수 있도록 1:1 비율의 템플릿과 10:1 비율 템플릿이 제공됩니다. '미니어처' 템플릿은 도시와 같은 '대형' 콘텐츠의 테이블탑 시각화를 만드는 데 유용합니다. 보통은 콘텐츠를 1:1 스케일로 만든 다음 Unity MARS 세션의 'World Scale' 파라미터를 사용하여 실제보다 훨씬 작은 크기로 렌더링할 것을 권장합니다. 처음부터 작은 오브젝트를 만들려고 하면 정확성에 문제가 발생할 수 있으므로 콘텐츠를 실제 크기로 만든 후에 축소하는 것이 가장 좋습니다.

페이스 마스크 템플릿

페이스 마스크 템플릿은 사용자의 얼굴에 고정되는 콘텐츠를 제작하기 위해 설계되었으며, 마치 마네킹에 하듯이 모델을 꾸며볼 수 있습니다. 이러한 콘텐츠로는 우스꽝스러운 안경과 같은 솔리드 메시, 또는 무형의 파티클 시스템이나 기타 비주얼 이펙트 타겟 등이 있습니다. 이 템플릿에는 페이스 랜드마크 시각화 도구가 기본적으로 포함되어 있으므로 사용자는 Unity MARS가 파악한 얼굴의 특징을 확인할 수 있습니다.

게임 템플릿

3D 게임을 이야기할 때는 고전 플랫폼 게임을 빼놓을 수 없습니다. 유니티의 게임 템플릿에서는 캐릭터가 게임 환경 속을 돌아다니며 오브젝트를 모으는 인기 있는 게임 경험이 AR로 변환됩니다.

이 템플릿은 각 플레이어의 고유한 물리적 환경을 파악하여 더욱 몰입도 높은 게임플레이 경험을 만드는 방법을 보여줍니다. 가상 세계가 아닌 실제 세계를 게임 환경으로 활용하여 고전 플랫폼 게임을 AR로 구현해 보았습니다.

이 게임에서는 로봇이 돌아다니며 회전하는 크리스털을 수집합니다. 크리스털은 실제 세계에 자동으로 배치되고 자연스럽게 상호 작용합니다. 사용자는 이 템플릿을 플랫폼 게임의 기반으로 삼아 로봇과 크리스털을 원하는 캐릭터와 오브젝트로 대체하여 게임을 구현할 수도 있습니다. 관련 사용 사례에 관한 실시간 데모를 확인해 보세요.

게임 템플릿은 기본과 고급의 두 가지 종류로 제공됩니다.

기본 템플릿과 고급 템플릿 비교

기본 템플릿은 Unity MARS의 드래그 앤 드롭 워크플로를 이용하여 개발되었습니다. 콘텐츠가 예상되는 AR 평면에 직접 배치되므로 가장 간단한 씬이 만들어집니다.

고급 템플릿은 복잡한 게임 메커니즘을 적용한 AR 애플리케이션에 사용되는 원리를 기반으로 제작되었습니다. 콘텐츠가 시맨틱 태그와 힘을 이용하여 작성되며, 시맨틱 태그를 사용하면 캐릭터와 수집품 등의 모든 프록시가 대응되는 '생성 포인트' 위치로 씬을 꾸밀 수 있습니다. 힘을 사용하면 기기 데이터의 노이즈로 인해 두 개의 평면이 매우 가깝게 겹치게 되더라도 콘텐츠가 겹치지 않습니다. 따라서 Unity 씬의 기술적 복잡도가 높아집니다(Unity MARS의 개념에 익숙하지 않은 사용자는 이 기술 자료를 참조하세요).

컨트롤 체계

유니티가 개발한 다이렉트 터치 컨트롤(Direct Touch Control)을 이용하면 기기에서 사용자가 터치한 실제 세계의 위치로 로봇이 이동(길이 끊어진 경우 점프)할 수 있습니다. 따라서 로봇이 언제나 사용자가 예상한 곳으로 움직인다는 장점이 있습니다. 컨트롤에서 가장 기본적인 부분은 사용자 시야의 중심에 캐릭터가 다시 오도록 하는 것이며, 오브젝트를 놓치기 쉬운 몰입형 애플리케이션에서는 더욱 중요한 기능입니다.

크리스털은 회전하다가 로봇과 충돌하면 수집됩니다. 크리스털과 로봇은 Unity MARS와 독립적으로 작동하므로 전적으로 디지털 환경에 배치될 수 있습니다.

리플리케이터

게임 템플릿은 Unity MARS '리플리케이터(replicator)' 프리미티브 오브젝트 유형을 활용합니다. 데이터와 일치하는 항목이 두 개 이상 존재할 경우, 리플리케이터가 프록시 또는 프록시 그룹을 복제합니다. 두 템플릿 모두 이 속성을 활용하여 충돌 프록시에 적절한 크기의 평면을 모두 일치시킵니다. 기본 템플릿은 유사한 리플리케이터 설정을 사용하여 크리스털로 장식된 전체 평면을 만듭니다. 고급 템플릿은 크리스털을 직접 배치하지 않고 현실 세계에 생성 포인트 위치를 만들며, 그 후에 생성 포인트 프록시의 복제와 대응이 이루어집니다. 이렇게 하면 씬 뷰에서 콘텐츠 변경 빈도가 줄고, 다양한 유형의 오브젝트에 동시에 매치할 수 있게 됩니다.

교육/트레이닝 템플릿

교육/트레이닝 템플릿을 이용하면 가이드를 제시하는 AR 트레이닝 경험을 만들 수 있습니다. 가이드가 제공되는 AR 경험에서 최종 사용자는 커스터마이징 가능한 트리거를 바탕으로 자동 진행되는 일련의 단계를 따라가 볼 수 있습니다. 이 경험은 사용자에게 특정 기능의 작동 방식을 보여주기 위한 교육/트레이닝 용도로 구상되었습니다.

개발자는 씬에 포함된 프리팹을 복제하고 수정하여 템플릿을 확장할 수 있습니다. 모바일 기기와 HMD 모두에서 다른 씬이나 빌드를 만들지 않아도 최적의 상태로 작동할 수 있도록 반응형 경험을 제공해야 합니다. 기본 상호 작용은 빌트인되어 있습니다.

교육/트레이닝 템플릿은 현장에서 실제 장비를 활용할 수 있도록 설계되었습니다. 다시 말해, 외부 시스템과 손쉽게 연동될 수 있어야 합니다. 또한, 알려진 위치나 장비를 기준으로 재지역화가 이루어져야 합니다. 이를 위해, 비평면 프록시를 사용합니다.

교육/트레이닝 템플릿은 세부 설명 시스템, 메뉴(또는 사용자 인터페이스 패널, 아래 설명 참조), 그리고 반응형 Unity MARS 액션 등 세 가지 부분으로 이루어져 있습니다.

세부 설명 시스템

세부 설명 시스템은 일련의 단계로 항상 하나의 단계만 활성 상태일 수 있습니다. 각 단계는 비주얼과 기타 스크립트를 활성화합니다.

하나의 단계에서 트리거는 여러 번 사용할 수 있습니다. 근접성, 프록시 상태, 시선과 같이 가장 일반적으로 사용되는 단계의 모음이 제공됩니다. 트리거는 단계를 진행할 수 있음을 알리는 하나의 함수가 포함된 스크립트입니다. 이 트리거를 Unity MARS와 결합하면 실제 세계에 반응하는 단계별 경험을 구현할 수 있게 됩니다.

UI 개발

교육/트레이닝 템플릿을 위해 사용자 인터페이스(UI) 컴포넌트를 개발했습니다. 주요 컴포넌트는 사용자의 진행 상황을 표시하는 UI 패널입니다. 이 패널은 모든 세부 단계를 설명과 함께 보여주면서 교육/트레이닝의 진행 단계를 사용자에게 알려주는 역할을 합니다. 사용자는 탐색 바에서 드롭다운 목록을 사용하여 단계를 건너뛰거나 완료한 단계를 확인할 수 있습니다.

개발자는 메인 패널뿐 아니라 공간 UI 컴포넌트도 추가하여 사용자가 공간을 탐색하고 다양한 관심 지점에 주의를 기울이도록 지원할 수 있습니다. 예를 들면 사용자의 움직임에 반응하기 위해 Unity MARS 힘을 사용하는 화살표와 오프스크린 표시자가 있습니다. 화살표 프리팹은 항상 사용자 쪽을 향하도록 회전하는 힘 얼라인먼트를 사용하고, 오프스크린 표시자는 시야각(FOV) 내에서 관심 지점의 스크린 공간 위치를 기준으로 두 개의 힘 얼라인먼트를 블렌딩합니다. 관심 지점이 시야 밖으로 벗어나면 오프스크린 표시자의 위치가 머리 포즈에 따라 달라집니다. 반대의 경우 표시자는 사용자의 주의를 확보하기 위해 오브젝트 쪽으로 움직입니다.

반응성

AR은 다양한 폼 팩터에서 작동하므로 교육/트레이닝 템플릿도 모든 폼 팩터에서 작동해야 합니다. AR을 경험할 수 있는 두 가지 주요 기기 유형으로는 스마트폰과 HMD가 있습니다. 각 유형은 '플랫'과 '공간' 몰입도 수준으로 분류됩니다.

반응성을 위해서는 캔버스 조작, 즉 UI 캔버스의 부모 재지정과 위치 재지정을 수행해야 합니다. 플랫 기기에서 이러한 요소는 화면에 고정되며, 몰입형 기기에서는 공간 내에 존재합니다. 캔버스를 조작할 수 있도록 몰입도 수준에 따라 Unity MARS에 조건과 액션을 빌드하고 에디터에서 각각의 시나리오를 시뮬레이션했습니다.

플랫 UI와 공간 UI 버전 사이에는 몇 가지 핵심적인 차이가 있습니다. 사용자가 화면 또는 HMD로 상호 작용하고 있는지 여부에 따라 '이전', '다음' 버튼과 탐색 막대의 위치가 달라집니다. 또한, 공간 버전에서는 3D로 떠 있는 UI 단계 패널이 플랫 버전에서는 화면 전체를 차지합니다. 이러한 조정은 기본적으로 각 매체별 어포던스를 기준으로 합니다.

새로운 템플릿 공개 예정

Unity MARS로 개발한 다양한 사용 사례를 구축해 보세요. 소개된 7가지 스타터 템플릿을 지금 바로 활용해 볼 수 있으며, 앞으로도 정기적으로 새로운 템플릿이 공개될 예정입니다. 학습한 내용과 나만의 '템플릿'을 포럼에 공유해 주시기 바랍니다.

 

무료 체험 시작하기

Is this article helpful for you?

Thank you for your feedback!

다루는 주제
관련 게시물