가상현실프로그래밍 6주차

2021. 10. 13. 22:46·학교수업
반응형

가상현실에서의 player 이동 방식

1. 특정 지점을 옮겨 다니는 경우

2. Rail Shooting (정해진 길을 따라 이동, player 이동 제어X) - 보통 3축에서 많이 사용

3. 제한된 형태 이동 (특정 지점으로만 자유롭게 이동)

4. 일반 3D게임같은 제한 없는 이동 (자율롭지만 멀미 유발 가능)

5. 다양한 형태 이동 복합적 지원(한게임에 1~4방식 모두 사용)

 

목적지 방향으로 이동시 이동과 회전을 고려해야함(상호아에 맞게 상하 회전도 조절해야함)

- 목적지 방향으로 회전량 계산 벡터의 뺄셈을 통해 현재 위치에서 target을 바라보게함

-> 상하 회전은 진행 방향 계산 후 벡터의 y값을 0으로 만든다.

 

효율적인 waypoint 디자인 : wire sphere로 출력 => Gizmos 시스템

void OnDrawGizmos() 함수 사용 -> 게임플레이 영향X 디자인 씬에서만 표현

 

VR연동

- HMD 위치를 직접 제어하기 위해 CameraRig를 이용해야함

- HMD SDK가 개별적으로 CameraRig 객체를 가지고 있다. tag로 CamerRig를 찾아야함

-> Rig를 찾아 태그로 지정해두는걸 추천

 

텔레포트를 위한 포인터 생성

- Touchpad 이벤트 처리를 위해 VRTK_ControllerEvents 컴포넌트 추가

- Pointer 관련 기능을 처리하기 위해서 VRTK_Pointer 컴포넌트 추가

- 직선 포인터를 렌덜이하기 위해서 VRTK_StraightPointerRender 컴포넌트 추가

- VRTK_StraightPointerRender 컴포넌트를 VRTK_Pointer의 PointerRenderer 속성에 할당에 포인터에 사용할 렌더러 연결

- 왼쪽과 오른쪽 컨트롤러 각각 구현

PlayArea 생성

- 실제 Player 영역(CameraRig)를 텔레포트를 위해 Empty Object로 PlayArea 객체 생성

- 어떤 방식으로 teleport할지 기능 구현한 VRTK_BasicTeleport 컴포넌트 추가

- 텔레포트는 바로 이동하는 것이 아닌 눈 깜빡이면 이동하는 형태 (Blink Transition Speed와 Blink To Color 사용)

-> 멀미감 개선

 

직선형태 포인터 (StraightPointer)

곡선형태 포인터 (BazierPointer)

 

텔레포트 포인터 모양 설정

1 : Maximum Length 포인터 목적지까지 최대 거리

2 : Tracer Density : 포인터 빔의 밀도

3 : Cursor Radius : 포인터 빔의 크기

 

Custom 포인터 설정 : Tracer

- Custom Tracer로 segment 변경 가능

- sphere 대신 line을 segment로 사용 (LineSegment)

- 애니메이션 가진 line segment (LineSegmentTexAnim) 지원

- 밀도를 높이기 위해 Rescale Tracer 체크

 

텔레포트는 이동 가능한 영역에대한 정책 설정을 해야한다

- PlayArea 객체에 VRTK_PolicyList 컴포넌트 추가 (설정시 정책에 설정되있는 위치만 텔레포트 가능, 없으면 어디든가능)

 

텔레포트 높이 보정

- 텔레포트 높이 조정을 안하면 높은 곳으로 텔레포트하면 객체 안으로 텔레포트 해버림

반응형
저작자표시 (새창열림)

'학교수업' 카테고리의 다른 글

<시험정리>사물인터넷개론  (0) 2021.10.19
<시험정리> 웹 개발 기초  (0) 2021.10.17
정보보호개론 6주차  (0) 2021.10.13
임베디드기초 6주차  (0) 2021.10.12
사물인터넷의 이해 6주차  (0) 2021.10.12
'학교수업' 카테고리의 다른 글
  • <시험정리>사물인터넷개론
  • <시험정리> 웹 개발 기초
  • 정보보호개론 6주차
  • 임베디드기초 6주차
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (302)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (49)
        • 코딩 테스트 (4)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
가상현실프로그래밍 6주차
상단으로

티스토리툴바