Priv's Blog
VR과 탐색(Navigating) 본문
1. 가상 세계에서의 탐색(Navigating)
현대인과 자동차의 영원한 친구, 내비게이션은 우리가 어느 장소를 찾아갈 때 어떻게 움직여야 하는지를 알려주는 역할을 한다.
걸어가거나, 운전을 하거나, 스키를 타거나, 스케이트를 타거나, 비행기를 몰 때도 우리가 가야 할 방향과 길을 찾는 탐색 과정은 항상 존재한다.
이는 가상 세계에서도 마찬가지이다.
내비게이션은 체험자가 어딘가로 이동하기 위해 길을 찾는 길 찾기(Wayfinding)과 찾아낸 길을 통해 실제로 움직이는 이동(Travel)으로 구성되어 있다.
이를 그림으로 표현하면 다음과 같다.
1.1. 길 찾기 (Wayfinding)
길 찾기는 자신이 어디에 위치했는지, 목적지로 향하는 경로를 파악하는 방법을 의미한다.
자신이 어디에 있는지는 일종의 레퍼런스 프레임으로 기능하기 때문에 길 찾기를 시작할 때 가장 중요한 요인이 된다.
다만 길 찾기 과정이 없어도 이동하는 것 자체는 가능하다.
머뉴버링(Maneuvering)은 주변 사물이나 지형 등을 빠르게 스캔 및 이동할 수 있어 별도의 길 찾기 과정이 불필요한 지역을 자유롭게 탐험하는 상황을 의미한다.
길 찾기의 목적은 탐험자가 현재 어디에 있고, 목적지로부터 얼마나 떨어져 있는지를 파악할 수 있게 함과 동시에 목적지에 도달하기 위해서는 어느 방향과 어느 길로 나아가야 하는지를 알려주는 것에 있다.
길 찾기 과정에 도움이 되는 다양한 방법과 도구들은 주변에서도 쉽게 찾아볼 수 있다.
지도가 대표적이며, 현대인에게는 종이로 된 지도보다는 GPS 장치와 디스플레이를 통해 표현되는 스마트폰 속 지도 앱이 더 익숙할 것이다.
이러한 길 찾기 방법과 관련 도구들은 현재 탐험자 자신이 어디에 있는지에 대한 정보를 제공하여 '정신적 모델'을 구축하거나 현재 상황을 탐험자가 현재 가지고 있는 정신적 모델과 연관 짓도록 만들고, 이를 통해 탐험자가 길을 찾을 수 있도록 만들어준다.
지도의 경우, 지도의 종류와 특성에 따라서 다양한 상황 지각 능력을 제공해 줄 수 있다.
종이 지도처럼 정적인 형태의 지도는 공간 전체의 모습을 보여주고, 그 넓은 공간 속에서 우리가 어디에 위치한 것인지를 탐색하도록 한다.
하지만 스마트폰 지도 앱처럼 자기 위치 탐색이 가능한 전자 지도는 현재 내가 어디에 있는지를 추적해서 보여줄 수 있을 것이다.
추가로 시간 절약이나 위험 상황 회피를 위한 용도로 위험한 상황이나 적의 위치, 사고가 발생한 장소 등을 보여주는 회피 지도가 활용되기도 한다.
1.1.1. 정신적 모델 제작하기
정신적 모델은 인간이 특정한 상황을 이해하고 이를 기반으로 행동을 계획하거나 예측하는데 활용하는 인지적 프레임워크를 의미한다.
길 찾기 작업을 수행할 때도 정신적 모델이 경로를 탐색하는 데 큰 영향을 미친다.
공간에 대한 정신적 모델을 제작해 두면, 추후에 해당 공간을 거쳐갈 때 그 모델이 하나의 레퍼런스로 기능할 수 있기 때문이다.
공간에 대한 인지 지도를 제작하는 방법을 크게 네 가지로 나눠본다면 다음과 같다.
- 분할 정복 전략: 전제 영역을 하위의 작은 영역으로 나누고, 개별적인 영역에 대한 특징들을 학습한다. 그런 다음, 이동할 경로를 파악하기 위해서 각 지역 사이에 있는 경로들을 학습한다.
- 글로벌 네트워크: 이 방법은 랜드마크를 사용하는 방법이다. 여기서 랜드마크는 개인적인 기억 속 장소, 누구나 식별하기 쉬운 장소 등 다양하게 될 수 있다. 이 방법을 사용할 때는 하나 이상의 랜드마크에 대해 방향을 유지해야 한다.
- 점진적인 확장: 점진적인 확장 방법은 작은 영역부터 조금씩 확장해 나가며 더 큰 영역을 인지하는 방법으로, 단순하게 공간 전체에 대한 지도를 암기하고자 시도할 때는 성공률이 떨어지는 방법이다.
- 서사적 확장: 서사적 확장 방법은 서사를 이용해서 자신만의 정신적 모델을 구축하는 방법이다. "지하철 역 북쪽에서 점심을 먹었고, 서쪽으로 두 블록을 걸어가서 서점을 찾았다."와 같이 자신이 경험한 사건들의 흐름을 하나의 서사로 엮어서 공간을 이해하는 것이다.
1.1.2. 길 찾기에 도움이 되는 도구들
길 찾기 과정에서는 도움이 되는 다양한 도구를 활용할 수 있다.
이 도구는 절차적 정보 또는 경로에 대한 정보를 제공하거나, 핵심 랜드마크에 대한 위치를 알려주거나, 목적지까지 거리가 얼마나 남았는지 등을 알려주는 기능을 한다.
이는 사용자가 공간을 탐색하거나, 좋은 정신적 모델을 구축하는데 큰 도움이 된다.
- 경로 추적: 구축된 경로(또는 선로)를 따라가는 방법이다. 색상이나 숫자 등의 라벨을 사용해 구분할 수 있으며, 길 찾기 방법 중 가장 쉬운 방법이다.
- 지도: 어떠한 공간을 시각적으로 표현한 지도를 사용하는 방법이다. 손에 들고 사용할 수 있는 크기에 넓은 공간을 표현해야 하기 때문에 다양한 약식 표현(아이콘, 숫자, 색상 등)이 자주 사용된다.
- 랜드마크 (이정표 포함): 앞서 계속 언급되었던 랜드마크는 주변 환경에서 쉽게 인지할 수 있는 대상을 기준으로 거리나 방향 등을 탐지하는 방법이다. 방향 정보나 거리 등을 알려주는 이정표도 하나의 랜드마크이며, 청각적 신호도 랜드마크가 될 수 있다.
- 기억할 수 있는 장소의 이름: 어떠한 장소 이름을 하나의 랜드마크처럼 사용하는 방법이다. 장소의 이름은 텍스트로 표현되므로 지도의 라벨 형태로 활용될 수도 있다.
- 남겨둔 흔적: 사용자가 탐험을 하면서 남겨둔 흔적들을 경로 형태로 기록하여 아직 방문하지 않은 장소가 어디인지, 방문했던 장소가 어디인지를 파악할 수 있게 하는 방법이다. <헨젤과 그레텔> 동화를 떠올려보면 이해하기 쉽다.
- 나침반: 나침반은 현실 세계와 동일한 방법으로 가상 세계에서 구현되어 활용이 가능하다. 체험자가 현재 어느 방향으로 나아가고 있는지를 파악할 수 있게 해주는 장치로, 비행 시뮬레이션이나 선박 시뮬레이션 등에서 특히 유용하게 활용된다.
- 계기 유도: 선박이나 항공기에서 사용되는 길 찾기 방법은 육안 대신 다양한 계기를 통해 파악한 정보를 조합하여 위치를 계산하는 방법을 주로 활용한다. 이러한 계기 장비들이 제공하는 정보와 조작법 등을 활용하여 길을 찾는 방법을 일컫는 것으로, 현대에는 스마트폰과 GPS의 보급으로 자동차나 보행자들도 길 찾기에 계기 장비를 활용할 수 있을 정도로 대중화되었다.
- 3인칭 뷰: TPS와 같이 3인칭 시점에서 체험자와 그 주변 환경을 함께 파악할 수 있는 뷰를 의미한다. 체험자의 현재 위치와 주변 모습을 동시에 볼 수 있어 자기중심적인 관점에서 벗어나 위치를 보다 빠르고 정확하게 파악할 수 있다.
- 좌표 표시: 텍스트로 표현되는 좌표 수치를 제공하여 이를 통해 다른 체험자에게 정확한 위치를 공유하거나, 지도와 같이 다른 방법을 함께 동원하여 자신의 위치를 정확하게 파악하고, 저장할 수 있다.
- 제약이 있는 탐색: 체험자가 탐색하는 범위 자체를 제한하여 지정된 범위를 벗어나지 못하게 막는 방법이다. 탐색해야 할 범위 자체가 적기 때문에 길 찾기에 소모되는 비용도 적어지는 것인데, 이는 체험자의 자유도를 제한하는 것이기도 해서 활용 시 주의가 필요하다.
1.2. 이동 (Travel)
길 찾기가 끝났다면 이제 이동할 차례이다.
체험자가 가상 세계에서 이동하는 방법은 생각보다 상당히 많다.
직접 발을 움직여 물리적으로 움직이는 방법을 사용할 수도 있으며, 자동차나 비행기와 같은 탈것을 조종하거나, 아예 순간이동 하는 방법도 사용할 수 있다.
가상 세계에서의 이동은 체험자가 다루는 애플리케이션의 특징과 종류, 목적에 따라 달라지므로 VR 경험의 인터페이스를 디자인하는 과정이 매우 중요하게 작용한다.
예를 들어 비행기 조종 경험이 있는 체험자가 비행 시뮬레이션을 플레이하고 있다면, 자연스럽게 조이스틱을 앞으로 밀어서 하강하고자 할 것이다.
하지만 비행기 조종 경험이 없는 일반적인 체험자들은 대부분이 조이스틱을 앞으로 밀게 되면 위를 향한다고 판단할 것이다.
만약 VR 애플리케이션의 인터페이스가 전문가 수준의 체험자를 대상으로 한 것이 아니라면, 의도적으로 조이스틱을 앞으로 밀었을 때 비행기가 상승하거나, 아예 체험자가 직접 선택할 수 있는 형태로 설계하는 것이 만족감이 높을 것이다.
1.2.1. 이동 인터페이스 속성
- 조작법: 이동에 사용되는 조작법은 항공기나 자동차 조종과 같이 경험의 목표에 따라 현실 세계 속 인터페이스를 최대한 복제하고자 하는 물리적 방식과 물리적 장치를 모방하기는 하지만, 가상의 인터페이스 요소(미니맵 등)를 추가하여 활용하기 때문에 필요와 편의에 따라 여러 디자인으로 구현할 수 있는 가상 방식으로 나눠진다.
- 제약 조건: 체험자가 이동할 수 있는 방향이나 거리, 자유도 등에 제약을 걸어서 이동 가능 범위를 구속한다. 체험자가 자동차를 타고 있을 때는 2차원적인 이동만 가능하도록 제약하고, 비행기를 탔을 때는 3차원적인 이동까지 가능하도록 만드는 방식이다.
- 레퍼런스 프레임: 가상 세계 속 움직임(이동)은 결국 체험자와 세계 사이의 상대적인 움직임으로 이해할 수 있다. 이 때문에 이동 인터페이스에서도 레퍼런스 프레임의 개념이 적용된다. "붉은색 오두막의 출입문에서 북쪽 방향으로 3m 전진"과 같은 표현이 대표적인 예시이다.
- 이동 공식: 물리적 연산을 통한 속도 설정, 물체의 물리적 회전 연산 등을 수행하기 위해서는 체험자의 동작에 따른 값의 변화를 감지하고 이를 함수에 넣어 결괏값을 파악하는 과정이 필요하다. 쓰로틀을 얼마나 당기거나 밀었는지, 조이스틱의 트리거를 얼마나 강하게 밀었는지 등을 감지하여 실제 움직임에 반영하기 위해 사용되는 함수(공식)들이 이동 공식에 해당한다.
1.2.2. 이동 방법 클래스
이동 방법을 선택하고 구현하는 것은 경험의 장르와 개발자가 사용할 수 있는 입력 장치 등에 따라 달라진다.
- 물리적 로코모션 (Physical Locomotion): 물리적 이동에 의존하는 이동 방법이다. 체험자의 신체를 정확하게 트래킹/렌더링 하는 것이 가장 중요하며, 체험자의 자유도와 물리적 한계를 극복하기 위해 다양한 착각 효과를 활용하거나, 별도의 인터페이스 장비(Virtuix 사의 Omni)가 요구될 수 있다.
- 라이드 얼론 (Ride along): 앞서 언급한 것처럼 가장 단순한 이동 방법 중 하나는 지정된 경로/선로를 따라가는 것이다. 체험자는 마치 롤러코스터나 컨베이어 벨트를 탄 것처럼 애플리케이션으로 조작할 수 있는 경로를 따라가며 가상 세계를 경험하게 된다.
- 토우 로프 (Towrope): 체험자가 마치 바나나보트를 탄 것처럼 무언가에 견인되어 움직이는 형태이다. 체험자는 글라이더, 보트와 같이 자신이 아니라, 당기는 실체에 의해 제어되는 속도와 방향을 따라 이동하게 된다.
- 플라이스루/워크스루 (Fly-through/Walkthrough): 가장 일반적인 3차원 공간 내 이동 방법으로, 3차원 공간을 자유롭게 날아다니거나, 걸어 다니는 방법이다. WASD 키를 이용해 개발 중인 게임 속 공간을 탐험할 수 있도록 설계된 Unity 엔진이나 Unreal 엔진 속 씬 탐색 기능을 떠올려보면 이해하기 쉽다.
- 파일럿스루 (Pilot-through): 차량이나 비행기와 같은 기타 탈것의 조작법에 기반하여 이동하는 방식이다. 플라이스루/워크스루 방식과 매우 유사하지만, 조작감 및 조작법에서 차이가 존재한다. 대부분 탈것을 제어하는 형태의 시뮬레이션을 구현할 때 활용된다.
- 무브 더 월드 (Move-the-world): 가상 세계를 체험자가 원하는 데로 자유롭게 조작할 수 있는 방식으로, 체험자가 가상 세계 속에서 움직이는 것이 아니라, 가상 세계가 체험자에 의해 움직여지는 것으로 이해해야 한다. 구현 자체는 거의 유사하지만, 정신적 몰입감 측면에서는 큰 차이(멀미 발생 가능성 등)가 있다.
- 스케일 더 월드 (Scale-the-world): 무브 더 월드와 개념은 동일하지만 이동이 아니라 가상 세계의 크기(Scale)를 조작하는 것에 초점을 둔 방식이다. 가상 세계의 크기를 축소하고, 체험자의 의지에 따라 위치를 바꾸고(이동하고), 가상 세계의 크기를 다시 확대하는 순으로 동작하게 된다.
- 순간이동 (Put-me-there / teleport me): 체험자가 지정한 위치로 체험자를 순간이동하는 방법으로, 가장 구현하기 간단하고 물리적 공간의 제약을 적게 받는 방법이다. 이 때문에 <Half-Life: Alex> 작품처럼 체험자의 자유로운 이동성을 보장해야 하는 VR 애플리케이션에서 흔하게 볼 수 있다. 이동하는데 사실상 시간이 소요되지 않을 수 있으며, 이동 과정을 보여주지 않아서 순간적으로 방향 감각을 잃을 수 있다는 단점이 있다.
- 궤도 관측 (Orbital Viewing): 체험자가 원하는 어떠한 방향과 각도에서 가상 세계를 바라볼 수 있도록 높은 자유도를 보장하는 방법이다. 만약 체험자가 머리를 들어서 위를 보면, 오브젝트가 체험자 머리 위로 움직여서 체험자가 오브젝트의 하부를 볼 수 있도록 조정되는 형식으로, 마치 체험자 주위에 있는 궤도 상에 오브젝트가 놓인 형태를 띠고 있어 '궤도 관측'이라는 용어가 사용되었다. 매우 간단한 UI, 최소한의 하드웨어를 필요로 한다. 실제로 Google 사의 Cardboard VR에서 이 방법을 사용해 박물관 유물을 관람하는 형태로 구현되기도 했다.
1.2.3. 시간 이동
VR 애플리케이션의 의도에 따라 공간을 탐색하는 것 외에도 <디트로이트 비컴 휴먼>이나 <사이버펑크 2077>처럼 체험자가 시간을 탐색하는 것도 구현할 수 있다.
체험자가 탐색할 수 있는 시간의 범위는 의도에 따라 달라진다.
박물관에서 역사의 흐름을 묘사하고 싶을 때는 몇 천 년 ~ 몇 백 년까지의 시간을 다루어야 할 것이며, 특정 사건들을 단서로 추적하는 형태의 애플리케이션이라면 몇 시간 ~ 몇 분 사이의 시간만 다루어도 충분할 것이다.
시간은 공간과 달리 선형적인 개념이기 때문에 대부분 막대나 수치, 시계 등과 같이 방향성을 지닌 흐름으로 표현된다.
또한 시간을 탐색하기 위한 인터페이스는 메타포를 다룰 때 언급한 것처럼 재생 버튼, 일시 중지 버튼과 같은 보편적인 인터페이스를 사용하는 것이 유리하다.
VR 환경에서 모델링 작업을 할 수 있도록 만들어진 애플리케이션인 'Gravity Sketch'는 시계를 작업 기록을 저장하고 원하는 시점으로 되돌아가는 툴로써 활용하기도 했다.
수고하셨습니다!
'Dev. Study Note > VR Introduction' 카테고리의 다른 글
VR과 상호작용 (0) | 2025.01.26 |
---|---|
VR과 조작법(Manipulation) (0) | 2025.01.24 |
VR과 상호작용 (0) | 2025.01.22 |
기타 감각 렌더링 시스템 (0) | 2025.01.21 |
촉각 렌더링 시스템 (0) | 2025.01.21 |