[완료기술세미나]기어vr과 립모션을 이용한 트라우마 극복 어플리케이션
TRANSCRIPT
1 / 25
완료기술세미나 – VR과 립모션을 이용한 트라우마 극복 어플리케이션
Unity & LeapMotion & VR in An-droid
통합 개발환경 구축
25-1 박성호
2 / 25
목차
Unity
•What is Unity3D?
•Platform
•Unity Basics•Scene•Hierarchy•Inspector•Game•Project
LeapMotion
•What is LeapMo-tion?
•Java Script 를 통한 Leap 인식 시연
•Java Script 를 통한 Leap 인식 시연 결과
•기본 작동 원리
HMD - VR
•기본 작동 원리
•FOV(Field Of View)
Integration
•실습
3 / 25
Unity
What is Unity3D?
• 멀티 플랫폼 지원 통합 게임 개발 엔진• 3D 객체 , 조명 , 물리 ,
애니메이션 , 스크립트
• 스크립트로 동작이 이루어짐• MonoDevelop(VisualStudio)
ScriptEditor
• .unity 파일로 , 원하는 플랫폼 형태로 export 가능
• 게임 개발에 효과적인 도구
4 / 25
Unity
Platform
• 파일 확장 : .unity
• .unity 파일이 , 원하는 플랫폼 형태로 export 가능
• Native Application (.EXE)• Web Player• iPhone• Android• Wii• Windows Store• Xbox• PlayStation
5 / 25
Unity
Unity Basics
6 / 25
Unity
Unity Basics - Scene
• Scene• Game Object 와 주위의
움직이는 것들의 위치를 설정할 수 있다 .
• “Level” 또는 “ Screen”이라고도 불린다 .
• 씬은 2 번의 Hierarchy 와 같다 .(Same as)
• X,Y,Z 축을 돌면서 현재 3D Object Scene 을 편집할 수 있다
• View 전환 가능
• 깊이 확인 가능
7 / 25
Unity
Unity Basics
8 / 25
Unity
Unity Basics - Hierarchy
• Hierarchy
• Scene 항목에 나와있는 Object들의
일련의 Text List
• Camera, Light, model, prefabs와 같은 게임을 위해 만들어진 개체들과 , 실제 게임에 보이지는 않지만 속해있는 것들 모두 포함 .
• 현재 Scene 에서의 Game Ob-ject 와
Sub-object 간의 관계 파악 가능
• 3D Object 와 해당 속성을 쉽게 파악 가능
9 / 25
Unity
Unity Basics
10 / 25
Unity
Unity Basics - Inspector
• Inspector
• 현재 선택된 항목의 세부 속성을 표시
• Position, Rotation, Scale 조절 가능
• 게임 객체에 컴포넌트 및 기능 추가 가능
• 사실상 게임 제작에 있어 가장 많은 시간을 소모하게 되는 부분
11 / 25
Unity
Unity Basics
12 / 25
Unity
Unity Basics - Game
• Game
• 게임을 실행하였을 때 , 플레이어가 실제 보게 될 미리보기
• 적용된 모든 스크립트들을 포함하여 재생
• 최대화하여 미리보기가 가능
13 / 25
Unity
Unity Basics
14 / 25
Unity
Unity Basics – Project Panel
• Project
• 프로젝트의 실제 경로인 ‘ Assets’ 폴더 내의
컨텐츠 항목 ( 프로젝트에 속하는 모든 파일들 )
• Script 의 Library, 미디어 파일 , 장면과 같은
파일들
15 / 25
Leap Motion
What is LeapMotion?
• 센프란시스코에 있는 벤처회사
• Microsoft 의 Kinect 와 비슷한 원리• Kinect 는 RGB 카메라와 IR
카메라로 구성
• 정교한 손 동장 인식 센서를 지닌 UI장치• Kinect 의 200 배의 감도
1/100mm 감지
• 인식 가능한 Datalist• Hands• Fingers• Tools( 손가락보다 길고 직선인
물체 )• Gestures
16 / 25
Leap Motion
Java Script 를 통한 Leap 인식 시연
시연
17 / 25
Leap Motion
Java Script 를 통한 Leap 인식 시연 결과
• PalmPosition • 도약의 원점에서 mm 단위로 측정 된 손바닥의
중심 .
• PalmVelocity• 손바닥의 속도 .(mm/s)
• PalmNormal • 손바닥에 의해 형성된 평면에 수직 인 벡터 . • 벡터 손바닥 밖으로 아래로 가리킴 .
• Direction• 손가락을 향해 손바닥의 중심에서 가리키는
벡터 .
• SphereCenter• 손의 굴곡을 구 적합의 중심 .
• SphereRadius • 손의 굴곡을 구 적합의 반경 . • 반경은 손의 형상으로 변화시킨다 .
18 / 25
Leap Motion
기본 작동 원리
• 프레임 얻어오기• 재 갱신 주기 지정
• 주어진 시간 동안 벡터거리 값 만큼 포인터 이동
• 시스템 함수 이용
19 / 25
HMD-VR(Virtual Reality)
20 / 25
HMD-VR(Virtual Reality)
기본 작동 원리
• 헤드셋을 머리에 쓰면 , 머리의 움직임을 감지• 가속도 센서 , 자이로 센서 이용
• 시야를 왜곡시키는 어안렌즈를 배치
• 영상의 FOV(Field Of View) 값을 실제 시야와 유사하게 일치시켜 제작
• 양쪽 눈에 제공되는 디스플레이를 통한 착시현상을 제공하는 원리
• 최근에는 렌즈 타입으로 소형화 , 경량화되어
FMD(Face Mounted Display) 라고도 불림
21 / 25
HMD-VR(Virtual Reality)
FOV(Field Of View)• 눈으로 보이는 화상 범위
• 가상현실에서 보이는 화상 범위
• Eye vs HMD FOV
• 이러한 점을 고려해 가상 현실 설계 필요
22 / 25시연
Unity3D – LeapMotion – Android Integration
23 / 25
Unity3D – LeapMotion – Android Integration
Step 1. Install Leap Core Assets
24 / 25
Unity3D – LeapMotion – Android Integration
Step 2. Location SDKs at ROOT and Setting
25 / 25
Unity3D – LeapMotion – Android Integration
Step 3. SDK Source Code Analysis
26 / 25
Unity3D – LeapMotion – Android Integration
Step 4. Running the Scene
27 / 25
Unity3D – LeapMotion – Android Integration
Step 5. Moving Objects & Gestures
28 / 25
Unity3D – LeapMotion – Android Integration
Step 6. Testing & Android Integration
29 / 25
Q & A