대학원 준비

An Intuitive VR Interaction Method for Immersive Virtual Reality(몰입형 가상현실을 위한 직관적인 VR 상호작용 방법)

steezer 2025. 7. 7. 18:35

논문 정보

 

Springer Nature Singapore, 2020

저자: Ruixin Zhao, Namjung Kim, Kyoungju Park
키워드: VR 상호작용, 객체 조작, 손동작, 촉각 피드백, 몰입형 VR


결과

1. 구현 성과

 

플랫폼: Unity3D 2017.3.0f3와 HTC Vive를 사용하여 시스템 구현

객체 조작: 잡기, 들고 있기, 놓기, 흔들기 등의 직관적인 상호작용 구현

촉각 피드백: 유한 차분법 기반 가속도 계산을 통한 현실적인 진동 효과 제공

손동작 표현: 터치패드를 6개 영역으로 나누어 6가지 손동작을 자연스럽게 전환

 

2. 기술적 성취

박스 콜라이더를 활용한 효과적인 객체 선택 및 조작 메커니즘

물리 시뮬레이션을 통한 자연스러운 객체 낙하 구현

가속도 기반 진동 강도 조절 (임계값 1과 2를 활용한 단계적 피드백)

 

 

한계

1. 기술적 제약

 

제한된 손동작: 6가지 손동작만 지원하여 표현의 다양성이 부족

단순한 객체 조작: 복잡한 형태의 객체나 정밀한 조작에 대한 고려 부족

하드웨어 의존성: HTC Vive에 특화된 구현으로 다른 VR 기기로의 확장성 제한

 

2. 상호작용 설계의 한계

 

터치패드 기반 인터페이스: 6개 영역으로 나눈 터치패드 방식이 직관적이지 않을 수 있음

촉각 피드백의 단순성: 진동 강도만으로는 다양한 촉각 경험 제공에 한계

 

 

향후 과제

1. 기술적 개선

손동작 확장: 더 다양하고 자연스러운 손동작 표현 방법 개발

정밀 조작 지원: 미세한 조작이 필요한 작업을 위한 고도화된 상호작용 기법

다중 플랫폼 지원: 다양한 VR 기기에서 동작할 수 있는 범용적 시스템 개발

 

2. 상호작용 개선

자연스러운 인터페이스: 터치패드 대신 손가락 추적이나 제스처 인식 기반 손동작 변경

향상된 촉각 피드백: 질감, 온도, 저항감 등 다양한 촉각 정보 제공

맥락적 상호작용: 객체의 특성에 따른 적응적 상호작용 방법 개발


연구 배경 및 목적

연구 배경

1. VR 기술의 보급과 수요 증가

VR 기기 대중화: 오큘러스 리프트와 HTC 바이브 같은 VR 기기의 보급으로 몰입형 가상현실 애플리케이션에 대한 수요가 급속히 증가

일상적 활용: 객체 조작과 손동작 표현이 실제 세계뿐만 아니라 VR 게임에서도 일상적으로 발견되는 중요한 요소

 

2. 기존 기술의 한계

레이 기반 선택 기술: 널리 사용되지만 눈-손 가시성 불일치 문제 존재

키넥트 기반 상호작용: 편의성은 제공하지만 촉각 피드백과 HMD 부재로 인한 몰입감 부족

기존 몰입형 VR 연구: 촉각 상호작용 제공 방법에 대한 고려 부족

 

3. 연구 필요성

실제-가상 세계 격차: 컴퓨터 그래픽스와 가상현실 분야에서 실제 세계와 가상 세계 간의 격차를 좁히기 위한 연구 활발히 진행

몰입형 환경의 중요성: 쉽고 편리한 방식으로 가상 객체를 조작하고 손동작을 표현하는 기술이 VR 애플리케이션의 핵심 요소

 

연구 목적

사용자가 일상생활에서 객체를 조작하고 손동작을 표현하는 것처럼, 가상현실에서도 친숙한 방식으로 객체를 조작하고 손동작을 표현할 수 있게 하는 통합 시스템 개발

1. 직관적인 상호작용: 사용자가 가상 객체를 쉽게 잡고, 들고, 놓고, 흔들고, 촉각 피드백을 받을 수 있는 방법 제공

2. 사용자 친화적 인터페이스: 손가락으로 컨트롤러 터치패드를 눌러 원하는 손동작을 표현하고 변경할 수 있는 시스템 구현

3. 현실적 피드백: 촉각 피드백과 손동작 애니메이션을 포함하는 새로운 VR 상호작용 방법 제시


연구 대상 및 방법(암묵적)

연구 대상

VR 환경에서 객체 조작과 손동작 표현을 수행하는 사용자

 

연구 방법

1. 시스템 개발 방법

개발 플랫폼: Unity3D 2017.3.0f3 사용

VR 기기: HTC Vive 활용

구현 방식: 프로토타입 시스템 개발을 통한 기능 구현 및 검증

 

2. 객체 조작 구현 방법

콜라이더 기반 상호작용: 가상 손과 조작 객체에 박스 콜라이더 추가

트리거 버튼 활용: 컨트롤러 트리거 버튼을 통한 잡기/놓기 제어

물리 시뮬레이션: 객체 낙하 시 위치와 속도 기반 물리 적용

 

3. 촉각 피드백 구현 방법

유한 차분법 적용: 각 프레임에서 객체 속도 획득 후 가속도 계산

가속도 공식: acc = |v-vp|/td (v: 현재 속도, vp: 이전 속도, td: 시간 간격)

진동 강도 제어: 가속도 값에 따른 단계별 진동 강도 조절

 

4. 손동작 구현 방법

터치패드 분할: 컨트롤러 터치패드를 6개 영역으로 구분

손동작 매핑: 각 영역에 서로 다른 손동작 애니메이션 할당

실시간 감지: 사용자의 터치 위치 감지 후 해당 손동작 표시

 

분석 방법

 

기능 시연: 구현된 시스템의 작동 결과를 그림으로 제시

시각적 확인: 객체 조작과 손동작 표현의 실행 결과를 시각적으로 검증

 


변수 유형

물리 계산 관련 변수

속도 및 가속도 변수

v: 현재 프레임의 속도 (velocity)

v_p: 이전 프레임의 속도 (previous velocity)

acc: 가속도 (acceleration)

t_d: 두 프레임 사이의 시간 간격 (time difference)

 

가속도 계산 공식

\[ acc = \frac{|v - vp|}{td} \]

 

진동 제어 관련 변수

임계값 변수

값 1: 진동 시작을 위한 최소 가속도 임계값

값 2: 최대 진동 강도를 위한 가속도 임계값

 

진동 강도 제어 로직

가속도 > 1: 진동 시작

가속도 > 2: 최대 강도 유지 (더 이상 증가하지 않음)

 

공간 좌표 관련 변수

 

손 트랜스폼: 사용자 손의 위치 및 회전 정보

객체 트랜스폼: 조작 대상 객체의 위치 및 회전 정보

 

터치패드 관련 변수

영역 분할

6개 영역: 터치패드를 6개 구역으로 나눈 각각의 영역(구체적인 좌표값은 논문에 명시되지 않음)

 


요약

HTC Vive를 사용해서 가상현실에서 물건을 더 자연스럽게 만지고 조작할 수 있는 방법을 개발한 연구

 

핵심 내용

 

컨트롤러로 가상 물체를 직접 잡고 조작할 때 진동 피드백을 줘서 실제로 만지는 느낌을 구현

컨트롤러 터치패드를 6개 구역으로 나눠서 각각 다른 손동작(주먹, 가위바위보 등)을 표현할 수 있게 함

Unity로 만들어서 실제로 작동하는 시스템을 구현함

 

결과

기존 방식보다 더 직관적이고 자연스러운 VR 상호작용이 가능해졌다는 것이 주요 성과

 


번역

초록

본 논문에서는 몰입형 가상환경에서 가상 객체를 조작하고 손동작을 표현할 수 있는 직관적인 가상현실 상호작용 방법을 제안한다.

제안된 객체 조작 모델은 사용자의 손 움직임에 대응하는 촉각 피드백이 적용된 잡기, 들고 있기, 놓기, 흔들기와 같은 가상현실 상호작용을 포함한다.

우리는 유한 차분법을 기반으로 한 가속도를 적용하여 촉각 상호작용을 위한 사실적인 진동을 생성한다.

또한 우리 시스템은 사용자가 컨트롤러의 터치패드를 눌러 제스처를 변경할 수 있도록 직관적인 방식으로 제스처를 시각화하는 효율적인 방법을 통합했다.

실험 결과는 사용자가 가상환경에서 객체를 조작하고 손동작을 표현하는 가상현실 상호작용을 보여준다.

 

키워드: VR 상호작용 · 객체 조작 · 손동작 · 촉각 피드백 · 몰입형 VR

 

1. 서론

객체를 조작하고 제스처를 표현하는 것은 실제 세계뿐만 아니라 VR 게임에서도 일상적으로 발견된다.

가상현실 상호작용 연구[1]는 실제 세계와 가상 세계 간의 격차를 좁히기 위해 컴퓨터 그래픽스와 가상현실 분야에서 활발히 진행되고 있다.

또한 오큘러스 리프트와 HTC 바이브와 같은 가상현실 기기의 보급으로 인해 몰입형 가상현실 애플리케이션에 대한 수요가 급속히 증가하고 있다.

특히 몰입형 환경에서 쉽고 편리한 방식으로 가상 객체를 조작하고 제스처를 표현하는 가상현실 상호작용 기술은 가상현실 애플리케이션에서 중요한 요소이다.

우리의 목표는 사용자가 일상생활에서 객체를 조작하고 손동작을 표현하는 것처럼, 가상현실에서도 친숙한 방식으로 객체를 조작하고 손동작을 표현할 수 있게 하는 통합 시스템을 개발하는 것이다.

 

가상 객체를 조작하기 위한 상당수의 기술이 개발되었다.

광선 기반 선택 기술[2]은 사용자의 손이나 눈에서 광선을 발사하고 광선과 충돌하는 객체를 선택하는 가상환경에서의 객체 조작에 널리 사용되지만, 이 기술은 눈-손 가시성 불일치 문제를 포함한다.

Argelaguet 등[3]은 복잡한 가상환경에서 눈-손 가시성 불일치를 개선하는 광선 제어 매핑을 제시했다.

Dam 등[4]은 인체에 부착된 객체 없이 사용자의 움직임을 처리하여 사용자에게 편의성을 제공하는 키넥트 기반 상호작용 기술을 제안했지만, 촉각 피드백과 HMD(머리 장착 디스플레이)가 제공되지 않기 때문에 사용자에게 더 강한 VR 몰입감을 전달하기 어렵다.

Caputo 등[5]은 장면 디스플레이를 위한 오큘러스 DK2와 제스처 상호작용을 위한 립모션 컨트롤러를 기반으로 한 몰입형 VR 설정에서 객체 조작 작업에 대한 사용성 연구를 제시했지만, 이 연구는 사용자에게 촉각 상호작용을 제공하는 방법을 고려하지 않았다.

본 논문에서는 촉각 피드백과 손동작 애니메이션을 포함한 객체 조작을 통합하는 새로운 가상현실 상호작용 방법을 제시한다.

 

요약하자면, 우리의 기여는 다음과 같다.

(1) 사용자가 가상 객체를 쉽게 잡고, 들고, 놓고, 흔들 수 있으며, 촉각 피드백을 받을 수 있는 직관적인 상호작용 방법.

(2) 사용자가 손가락으로 컨트롤러의 터치패드를 눌러 원하는 손동작을 표현하고 손동작을 변경할 수 있는 사용자 친화적 인터페이스.

 

2. 객체와의 상호작용

가상현실 환경에서 우리는 잡기, 들고 있기, 놓기, 흔들기 등을 포함한 객체를 조작한다. 객체 조작은 상호작용에 가장 중요한 영향 요소 중 하나이다.

우리는 객체를 조작하고 진동을 구현하기 위한 몇 가지 간단하지만 효과적인 방법을 설계했다.

또한 사용자의 몰입감을 향상시키기 위해 더 현실적으로 만들려고 노력했다.

 

2.1 객체 조작

객체를 잡기 위해, 우리는 가상 손과 조작되도록 설계된 객체에 박스 콜라이더를 추가했다.

사용자가 컨트롤러 트리거 버튼을 누르면, 우리는 손 콜라이더에 겹쳐진 모든 것을 확인한 다음, 객체를 잡기 위해 객체의 트랜스폼을 겹쳐진 손 트랜스폼으로 설정한다.

사용자가 트리거 버튼을 누르고 있을 때, 우리는 계속해서 손 트랜스폼을 가져와 객체 트랜스폼에 할당하여 객체를 들고 있게 함으로써 잡힌 객체가 손과 함께 움직일 수 있게 한다.

사용자가 트리거 버튼을 놓으면, 우리는 손의 위치와 속도를 가져온 다음, 객체에 중력을 적용하여 떨어뜨린다.

이러한 방식으로 떨어진 객체는 그림 1과 같이 트리거 버튼을 놓기 전 마지막 프레임에서 얻은 위치와 속도로 물리 시뮬레이션을 한다.

 

2.2 진동 구현

탬버린 조작은 진동을 제외하고는 일반 객체 조작과 거의 동일하다.

탬버린을 흔들 때, 우리는 탬버린이 흔들리는 촉각을 느껴야 한다.

진동을 더 현실적으로 만들기 위해, 우리는 각 프레임에서 탬버린의 속도를 얻고 유한 차분법[6]을 사용하여 가속도를 계산한다.

acc = |v-vp|/td, v는 현재 프레임의 속도이다.

vp는 이전 프레임의 속도이다. td는 두 프레임 사이의 시간이다.

우리가 얻은 가속도가 값 1보다 크면, 컨트롤러를 진동시킨다.

동시에, 우리가 탬버린을 강하게 흔들 때, 사용자는 컨트롤러에서 더 강한 진동을 느껴야 한다.

우리는 강도 수준이 무한히 커지지 않도록 제한한다.

가속도가 값 2보다 크면, 그림 2와 같이 더 이상 올리지 않고 가장 강한 수준을 유지한다.

 

3. 손동작

가상현실 상호작용을 풍부하게 하기 위해, 우리는 몇 가지 손동작을 설계했다.

사용자는 컨트롤러의 터치패드를 눌러 손동작을 변경할 수 있다.

이러한 방식으로 사용자는 객체 조작 외에도 상호작용에서 더 많은 재미를 얻을 수 있다.

우리의 구현에서, 우리는 6가지 손동작을 설계하고 그림 3과 같이 6가지 제스처에 대응하는 터치패드를 6부분으로 간단히 나누었다.

표 1은 터치패드를 나누는 방법을 보여준다.

그런 다음 사용자의 현재 터치 위치를 감지하고 해당하는 제스처 애니메이션을 표시한다.

사용자가 터치패드 버튼을 놓으면, 우리는 다른 제스처를 준비하기 위해 모든 손동작을 지운다.

 

4. 결과

제안된 VR 상호작용 시스템은 Unity3D 2017.3.0f3와 HTC 바이브를 사용하여 구현되었다.

그림 4는 우리의 객체 조작 결과를 보여준다.

그리고 객체의 다른 태그를 인식함으로써, 우리는 탬버린에 진동 속성을 추가했다.

결과적으로, 우리는 객체를 쉽게 조작하고 진동의 촉각을 자연스럽게 느낄 수 있다. 우리의 손동작 결과는 그림 5에 나와 있으며 다른 제스처들이 부드럽게 전환될 수 있다.

우리는 다양한 손동작을 보여줌으로써 우리의 감정을 표현할 수 있으며, 이는 가상현실 상호작용에서 매우 흥미롭고 효과적이다.

 

5. 결론

본 논문에서는 객체 조작, 탬버린 진동 및 손동작 상호작용을 포함한 몰입형 가상환경을 위한 새로운 가상현실 상호작용 방법을 제시했다.

우리의 객체 조작 기술은 잡기, 들고 있기, 놓기 및 흔들기를 포함한다.

제안된 시스템은 유한 차분법을 기반으로 한 가속도를 적용하여 사용자의 손 흔들림에 대응하는 효과적인 촉각 피드백을 제공한다.

또한 우리 시스템은 사용자가 터치패드를 눌러 제스처를 변경할 수 있는 직관적인 방식으로 손동작 애니메이션을 생성한다.

우리의 방법은 사용자가 가상현실과 쉽고 자연스럽게 상호작용할 수 있게 한다.

또한, 손동작 상호작용 설계는 사용자가 더 나은 가상현실 경험을 할 수 있도록 매우 유용하다.


개념

유한 차분법(Finite Difference Method)

 

연속적인 함수의 미분(도함수)을 근사적으로 계산하는 방법

무한히 작은 변화량 대신 유한한(finite) 작은 구간의 차이(difference)를 이용해서 기울기나 변화율을 구함

이 논문에서는 아마도 컨트롤러의 위치나 속도 변화를 실시간으로 계산할 때 유한 차분법을 사용한 것 같음

정확한 계산은 어렵지만 충분히 가까운 근사값을 빠르게 구하는 방법

 

레이 기반 선택 기술(Ray-based Selection)

VR에서 멀리 있는 물체를 선택하는 대표적인 방법

 

1. 컨트롤러에서 레이저 포인터처럼 가상의 광선(ray)을 발사

2. 이 광선이 가상 물체와 만나는 지점을 계산해서 물체를 선택

3. 마치 손전등으로 물건을 가리키는 것과 비슷한 개념

장점: 멀리 있는 물체도 쉽게 선택 가능, 직관적이고 이해하기 쉬움, 구현이 상대적으로 간단

단점: 정밀한 선택 어려울 수 있음, 손떨림이 있으면 선택일 불안정할 수 있음

VR 게임이나 애플리케이션에서 메뉴를 선택하거나 멀리 있는 아이템을 집을 때 자주 사용되는 기술

 

HMD(Head Mounted Display)

사용자의 머리에 착용하여 눈 앞에 화면을 제공하는 장치

VR(가상현실), AR(증강현실), MR(혼합현실) 구현의 핵심 하드웨어

특징

몰입감: 사용자의 시야를 완전히 또는 부분적으로 덮어 높은 몰입감 제공

헤드 트래킹: 머리 움직임을 감지하여 화면 내용을 실시간으로 조정

스테레오 디스플레이: 양쪽 눈에 각각 다른 이미지를 제공하여 3D 효과 구현

종류

 

VR HMD: 완전히 가상 환경 제공 (Oculus Rift, HTC Vive 등)

AR HMD: 현실 위에 가상 정보 오버레이 (Microsoft HoloLens 등)

스마트폰 기반: 스마트폰을 장착하는 간단한 형태 (Google Cardboard 등)

 

Leap Motion 컨트롤러

손과 손가락의 움직임을 정밀하게 추적하는 센서 장치

특징

 

핸드 트래킹: 적외선 센서를 사용해 손과 손가락의 위치, 움직임을 실시간으로 감지

터치리스 인터페이스: 물리적 접촉 없이 제스처만으로 컴퓨터나 VR 환경을 조작

고정밀도: 손가락 끝까지 세밀한 움직임 추적 가능

원리

 

적외선 LED와 카메라를 사용해 손의 3D 형태를 스캔

머신러닝 알고리즘으로 손과 손가락의 위치를 실시간 계산

약 1cm³ 공간에서 0.01mm 정확도로 추적

 

트랜스폼(Transform)

컴퓨터 그래픽스와 3D 공간에서 객체의 위치, 회전, 크기를 나타내는 변환 정보

구성 요소

위치(Position/Translation): 3D 공간에서 객체의 좌표 (x, y, z)

회전(Rotation): 객체의 방향 (보통 쿼터니언이나 오일러 각도로 표현)

크기(Scale): 객체의 확대/축소 비율

VR/게임 개발에서의 역할

객체 배치: 가상 환경에서 물체들의 정확한 위치 지정

애니메이션: 객체의 움직임, 회전, 크기 변화 구현

상호작용: 사용자 입력에 따른 객체 변환 처리

 

HTC Vive

HTC와 Valve가 공동 개발한 가상현실(VR) 헤드셋

주요 특징

룸 스케일 VR: 실제 방 크기의 공간에서 자유롭게 움직이며 VR 체험 가능

라이트하우스 추적: 벽에 설치하는 베이스 스테이션으로 정밀한 위치 추적

핸드 컨트롤러: 양손에 하나씩 드는 컨트롤러로 가상 환경 조작

고해상도 디스플레이: 각 눈당 1080×1200 해상도

구성품

VR 헤드셋 (디스플레이와 센서 포함)

2개의 핸드 컨트롤러

2개의 라이트하우스 베이스 스테이션

연결 케이블

VR 연구에서의 의미

6DOF 추적: 머리와 손의 6자유도(위치 + 회전) 완전 추적

정밀한 상호작용: 밀리미터 단위의 정확한 움직임 감지

몰입감: 고품질 시각적 경험과 자연스러운 움직임 제공

논문과의 연관성

VR 상호작용 방법 연구에서 HTC Vive는 사용자의 손 움직임을 정확히 추적하여 가상 환경에서 직접 조작(direct manipulation)과 레이 캐스팅(ray-casting) 같은 다양한 상호작용 기법을 실험할 수 있는 플랫폼 역할을 함