Pv_log

가상 세계와 입력 상호작용 기술 본문

Develop Study/VR

가상 세계와 입력 상호작용 기술

Priv 2024. 9. 28. 21:28


 

 

1. 개요

가상 현실도 결국은 상호작용을 통해 완성되는 공간이다.

가상 현실 공간을 체험하는 체험자는 다양한 감각을 통해서 가상 공간을 지각하며, 자신의 신체 능력을 통해 가상 공간 안에 영향력을 행사하기도 한다.

체험자와 가상 현실 공간 사이에서 이루어지는 상호작용을 구현하기 위해서는 이 둘을 이어주는 인터페이스가 필요하다.

그러므로 가상 현실 공간 내 인터페이스의 유형, 이와 관련된 구성요소, 인터페이스의 문제와 한계점, 하드웨어 구현 및 속성에 대한 이해가 필요하다.

체험자의 움직임은 '바디 트래킹' 기술을 통해 가상 현실 공간에 렌더링 된다.

즉, 체험자의 입력이 가상 현실 공간으로 향하는 것은 '렌더링'이라는 단어를 이용해 표현한다.

반대로 체험자에게 전달되는 정보들은 신체의 '감각 기관'을 통해 수용된다.

즉, 가상 세계의 입력이 사용자에게 향하는 것은 '디스플레이'라는 단어를 이용해 표현한다.

디스플레이와 렌더링이라는 단어는 일반적으로 시각적 정보를 다루는 장비와 기술을 언급할 때만 사용한다.

하지만 위 그림에서 알 수 있듯이 시각 외에도 청각, 후각, 촉각 등 다양한 신체 감각에 정보를 전달하는 모든 것을 디스플레이로 부른다는 것에 주의하자.

 


 

2. 입력 기술

체험자가 가상 세계 속에 존재할 때 사용자의 입력을 감지하기 위해서는 체험자의 행동을 감지하기 위한 '바디 트래킹' 기술이 필수적이다.

여기서는 체험자의 입력을 다음과 같이 '수동 입력'과 '능동 입력'으로 구분하여 다룬다.

- 수동 입력: 시스템이 체험자를 모니터링하여 조건에 따라서 발동시키는 이벤트

- 능동 입력: 체험자가 의도에 따라서 직접 발동시키는 이벤트

사실 위의 대표적인 능동적, 수동적 입력 종류 외에도 아래와 같이 다양한 종류가 존재한다.

- 연속 입력, 이산 입력

- 대역폭: 정보의 양과 종류

- 절대 입력, 상대 입력

- 물리 입력, 가상 입력

우리가 일상 속에서 다루는 다양한 입력 디바이스들을 살펴보면, 사용자가 정보를 입력하는 방법도 굉장히 다양하다.

키보드와 같은 입력 디바이스는 이진 입력, 조이스틱과 같은 입력 디바이스는 가변 값 입력 방식 등을 사용한다.

VR을 다룰 때에도 이러한 입력 디바이스의 다양한 특징과 입력 방식, 사용자가 해당 디바이스를 다루는 방법 등을 종합적으로 고려해야 보다 몰입감 높고 다루기 편리한 입력 상호작용을 구현할 수 있을 것이다.

 


 

3. 능동 입력과 수동 입력

사용자가 물리적으로 가상 세계에 몰입하고 있을 때, 기본적으로 가상 세계를 구현하는 기기는 제한적이더라도 체험자의 신체 움직임을 감지할 능력을 갖추고 있어야 한다.
(아무리 못해도 최소한 체험자의 머리 정도는 움직임을 감지할 수 있어야 한다)

이러한 입력은 체험자가 명시적으로 전달할 필요가 없는 입력, 즉 VR 시스템에 대한 '수동 입력'에 해당한다.

이는 다시 말해서 VR 기기가 체험자의 머리 움직임을 모니터링(추적)하고, 그에 따른 입력을 알아서 수집한다는 것이다.

반면에 키보드 버튼을 눌러서 텍스트 타이핑을 한다거나, 선택 창에서 원하는 버튼을 골라 누르는 등의 행동들은 체험자의 의도에 따라서 발생하는 입력이다.

즉, 자신의 의도된 목적을 나타내고자 오브젝트와 접촉하는 체험자의 의도된 행동으로 발생하는 것은 '능동 입력'에 해당한다.

 


 

4. 연속 입력과 이산 입력

이 개념은 '아날로그'와 '디지털'의 개념으로 접근하면 이해하기 쉽다.

- 연속 입력: 연속적으로 변하는 값의 흐름으로 구성되는 형태의 입력 (볼륨 조절용 노브)

- 이산 입력: 값이 있음, 없음으로 구분되는 형태의 입력 (키보드의 버튼)

연속 입력은 어떠한 값의 크기를 정확하게 표현하고 싶을 때 유용하다.

자동차의 액셀 페달은 자동차가 현재 가속도를 얼마나 내야 하는지에 대한 '힘의 크기'를 연속 입력 형태로 다루는 장치이다.

사용자의 머리를 얼마나 회전한 것인지를 계산하는 것도 '회전의 크기'를 계산해야 하는 것이므로 이런 경우에도 연속 입력의 개념을 적용할 수 있을 것이다.

반대로 이산 입력은 단순하게 값이 있고 없음만 알면 되기 때문에 연속 입력보다 계산 과정이 단순하고 다루기가 쉽다.

방아쇠를 당겨서 총을 격발 하는 모습을 떠올려보면, 방아쇠는 당겨짐/당겨지지 않음으로 나뉜다.

즉, 총을 격발 하고 싶으면 방아쇠를 당기면 되고(값이 있음), 그렇지 않으면 방아쇠를 당기지 않으면(값이 없음) 된다.

이처럼 이산 입력은 있고 없음만 따지면 되기 때문에 체험자들이 다루기가 쉽다.

하지만 이산 입력은 무조건 1 또는 0이기 때문에 연속 입력처럼 연속적인 입력(부드러운 값의 변화)을 표현할 수는 없으므로, 결국은 용도에 맞는 입력을 적용하는 것이 가장 중요하다.

체험자의 신체 움직임이 센서에 의해서 관측되면 센서에 의해서 아날로그 형태의 전자기 신호가 생성되고, 그 신호는 아날로그/디지털 변환기를 거쳐 결과적으로 디지털 값으로 가공된다.

그렇기 때문에 결과적으로는 앞에서 언급한 연속 입력에 의해 생성된 값 또한 이산 입력 값과 동일한 형태를 띠고 있다고 말할 수 있다.

다만, 연속 입력에 의해 도출된 값 그 자체는 디지털 값이기는 하지만, 실수로 구성된 값의 범위 내에 존재하는 디지털 값이라는 점이 특징이다.

이는 앞에서 언급한 바와 같이 1과 0 중에 하나뿐인 디지털 값을 지니는 이산 입력에 의한 값과 차이를 지닌다고 볼 수 있다.

 


 

5. 대역폭: 정보의 양과 종류

체험자로부터 VR 시스템으로 전달되는 특정 입력 정보량은 입력 종류에 따라서 달라진다.

이를 간단하게 말하자면, 각 입력의 종류에 따라서 특정한 '대역폭' 또는 '채널 용량'을 지니고 있다는 것이다.

이를 공학 용어로 말하자면 'n-DOF'라고 부르며, n은 가능한 범위의 값을 나타내는 숫자이다.

즉, n-DOF 형태로 나타내는 '입력의 대역폭'은 결국 체험자의 신체가 그 공간 안에서 경험할 수 있는 공간적 자유도의 수준을 의미한다.

이 값이 클수록 더 많은 공간적 자유도를 보장하므로, 체험자는 더 다양한 움직임을 취할 수 있다.
(인간의 손이 기동 할 수 있는 모든 움직임의 자유도를 추적하려면 22-DOF가 필요하다고 한다)

단, 아직까지는 기계적인 장치의 한계가 존재하기 때문에 완벽한 공간적 자유도를 보장하는 것은 불가능하다.

또한 DOF는 연속 입력, 이산 입력을 가리지 않고 가질 수 있는 개념이다.

예를 들면 아래와 같다.

- 버튼 1개: 1-DOF (2개의 개별 값을 가짐)

- 가속 페달: 1-DOF (0 ~ 100 사이의 값 범위를 가짐)

특정한 공간에 놓인 인간이 어떠한 제약 조건 없이 자유롭게 그 공간을 탐험하게 만들기 위해서는 최소한 6-DOF가 필요하다고 한다.

여기서 3-DOF는 3차원 움직임(X, Y, Z 축의 이동), 나머지 3-DOF는 회전(X, Y, Z 축의 회전)에 사용된다.

당연하겠지만, DOF의 값이 높을수록 체험자는 더 많은 정보를 시스템에 제공할 수 있으며 단일 입력 디바이스로 더 많은 조작을 가능하게 한다.

 


 

6. 절대 입력과 상대 입력

입력은 경우에 따라 기준점이 필요할 수 있다.

예를 들어 HMD 기기를 착용하고 있는 체험자가 좌측으로 90도 고개를 돌렸다고 가정해 보자.

그렇다면 그 90도가 돌아간 이후의 체험자 머리는 어느 방향을 보고 있을까?

여기서 말하는 좌측 90도는 체험자가 고개를 돌리기 전, 처음에 바라보고 있었던 방향을 기준으로 좌측 90도일 것이다.

이는 대표적인 상대 입력의 예시이다.

절대 입력과 상대 입력을 간단히 정의하면 다음과 같다.

- 절대 입력: 특정한 기준점에서 계산된 상대적인 값을 다루는 입력

- 상대 입력: 임의의 시작점에서 계산된 지속적으로 양과 방향이 변화하는 값을 다루는 입력

CAVE 시스템과 같은 고정식 VR 시스템 대다수는 절대 위치 트래킹 입력 시스템을 갖추고 있다.

고정식 VR 시스템이 사용하는 공간의 원점은 해당 시스템이 설치된 장소의 바닥 중심점이 될 것이다.

이 시스템은 가상 공간을 자유롭게 이동할 수 있는 HMD 방식의 VR 시스템에서도 자주 사용된다.

만약 HMD 기기로 체험자의 머리 회전을 추적해야 하는 경우에는 자이로스코프 센서를 사용해도 충분하다.

스마트폰 기반 VR은 스마트폰 내부에 가속도 센서가 이미 내장되어 있기 때문에 기본적으로 사용자 머리를 추적하는 기능을 제공하고 있다.

 

6.1. 드리프트 오류 (정확도 드리프트)

상대적인 움직임을 계산하는 관성 측정 장치와 같은 상대 입력 기술들은 물리적인 움직임을 시간에 따라 계속 측정하여, 원점과의 차이를 계산하는 적분 과정을 통해 절대적인 값(위치 또는 회전)을 알아낼 수 있다.

즉, 처음 위치를 기준으로 상대적인 변화(움직임)를 계속 합산하여 '절대적인 값'을 계산해 낼 수 있다는 것이다.

하지만 이러한 계산은 상대적 변화를 추적하는 센서가 미세한 오차를 지니고 있기 때문에 이 오차값이 누적되면서 '정확도 드리프트'를 발생시킨다는 문제점을 지니고 있다.

드리프트 오류는 연속 출력의 샘플을 이산 값으로 결과를 받으면서 움직임 일부에 대한 값이 누락되면서 생기는 문제이다.

이러한 문제는 샘플을 추출하는 시간(샘플 레이트)을 높이면 쉽게 해결할 수 있겠지만, 이는 결국 연산상의 한계에 부딪힐 수밖에 없다.

자이로스코프 센서는 선형 가속도계보다 오류가 적게 발생하기 때문에 허용 범위 내의 오차를 기대할 수 있다.

또한 자이로스코프 센서는 각속도 값을 생성하기 때문에 각도를 구할 때 적분 계산을 한 번만 수행하면 된다.

각속도는 단위 시간당 회전한 각도를 의미하며, 이는 곧 회전율을 나타낸다.

즉, 자이로스코프 센서는 회전 운동의 속도를 제공하는 것이다.

그러므로 이 각속도 값을 시간에 대해 한 번 적분하면 사물이 회전한 각도를 바로 계산할 수 있다.

반면에 가속도를 다루는 가속도계는 움직임의 크기를 알아낼 때 두 번의 적분 계산을 요구한다.

이는 가속도의 특징 때문에 그렇다.

가속도는 물체의 속도 변화율을 의미하는데, 이를 한 번 적분하면 물체의 속도를 계산할 수 있다.

속도는 시간에 따른 위치 변화율을 의미하므로, 속도를 한 번 더 적분하면 물체의 이동 거리를 계산할 수 있다.

움직임의 크기를 알아내고 싶다면 움직임 물체가 얼마나 빠르게 움직였는지, 얼마나 멀리 움직였는지를 알아야 하기 때문에 두 번의 적분 계산을 요구하는 것이다.

여기서 갑자기 적분을 다루는 이유는 '이중 적분'이 오류에 매우 취약하여 3-DOF 위치 추적에 사용할 수 없다는 점 때문이다.

하지만 사물이 중력 가속도에 의해 움직이고 있을 때 자이로스코프 센서와 가속도계를 함께 사용하면 중력이 적용되는 방향도 파악할 수 있으므로 자이로스코프 센서에서 발생하는 드리프트 오류를 보정할 수 있을 것이다.

 

6.2. 기준 프레임

6-DOF 위치 입력의 경우, 기준 프레임의 개념은 단순히 절대 값과 상대 값의 개념에 그치지 않고 보고된 좌표가 어떤 오브젝트와 관련되어 있는지(외부 중심 또는 자기중심)를 함께 다룬다.

- 외부 중심: 세계의 '고정된 지점'(원점)에 대해 상대적인 값. '세계 좌표'에서 위치량을 지정하기 위해 사용한다.

- 자기 중심: 세계 속에 존재하는 신체에 대해 상대적인 값. 움직이는 기준 프레임에 대해서 '지역 좌표'로 지정된다.

이동량과 회전량을 표현하는 것에는 여러 방법들이 있으며, 이 방법들은 세계 좌표 기준인지, 지역 좌표 기준인지를 나타낸다.

아래 사진은 움직임과 회전 운동을 다룰 때, 세계 좌표 기준과 지역 좌표 기준에 따라서 사용되는 용어들을 표로 정리한 것이다.

 


 

7. 물리적 입력과 가상 입력

물리적 입력의 많은 개념들이 가상 입력의 개념과 상응하는 방식으로 적용된다.

- 물리적 입력: 실제 세계에서 즉각적이며 가시적으로 동작하는 입력. 공학 분야에서는 이를 특정한 종류의 에너지를 전기적 신호로 전환하는 장치를 뜻한다.
(버튼, 게임 컨트롤러의 조이스틱, 장갑, 마이크 등)

- 가상 입력: 가상 세계 내에서의 표현으로 존재하는 입력. 이는 무형적 성격을 지니고 있기 때문에 물리적 입력이 가지고 있는 특성, 즉 별도의 조작 수단을 필요로 한다.
(드롭 다운 메뉴, 선택 박스, 텍스트 입력 박스 등)

물리적 입력, 가상 입력 모두 위치의 개념을 지닌다.

가상 입력은 가상 세계 속 어딘가에서 일어나며, 필요에 따라서 숨겨지거나 이동할 수 있다.

물리적 입력은 사용자의 움직임이나, 자연스러운 동작을 방해하지 않으면서 쉽게 조작할 수 있어야 하며 카메라나 다른 센서들을 기반으로 먼 거리에서 조작이 가능한 물리적 입력 상호작용 시스템은 이러한 기준에 충분히 만족한다.

이와 더불어 현존하는 많은 광학 기반 물리적 입력 시스템은 '마커'를 체험자 또는 다른 오브젝트에 부착하는 방식을 사용하고 있으며, 이 덕분에 입력 장치가 체험자의 신체 부위에 위치할 수 있다.

마커를 머리, 허리, 손가락 등의 다양한 신체 부위에 부착하여 체험자의 신체 움직임을 기반으로 한 애니메이션을 생성하는 '모션 트래킹' 기술, 손가락으로 버튼이나 트리거를 누르거나 팔을 움직여 포인팅 장비 형태로도 사용할 수 있는 '핸드 헬드 컨트롤러' 등이 대표적인 예시이다.

 


 


수고하셨습니다!


Comments