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

2021. 9. 24. 02:58·학교수업

가상현실 UI

- 고려 사항

1. 1인칭 시점의 작은 FOV(Field of View)

2. 거리의 존재

3. 해상도 낮음

4. 가독성이 떨어짐

5. UI의 설계

- 카메라 방향으로 텍스트를 회전시켜야함 (거리를 고려하여 크기 유지)

=>3D object로 텍스트를 표현하기 때문

 

Canvas 객체

- UI항목을 화면에 배치하고 렌더링 하는 역할(모든 UI는 Canvas객체 하위 위치)

- EventSystem 객체는 시스템에서 발생하는 인풋을 Canvas 하위의 UI항목에 전달

- Canvas는 한 씬에 여러 개 생성 가능

- Canvas의 하위 객체로 Canvas 생성 가능

Canvas Component

- RectTransform : 기존 Transform Component와 동일한 역할을 UI에 적용(UI마다 객체 원점 설정 가능)

1. RectTool로 크기와 위치 동시 조절

2. 2D화면으로 전환해 UI배치

- Render Mode

1. Screen Space - Overlay : 화면 해상도에 맞춰 자동으로 스케일

- 3D + 2D UI 합성 방식으로 일반적으로 사용

2. Screen Space - Camera : MainCamera와 별도로 UICamera 사용

3. World Space - 3D 공간의 객체로 Canvas 사용

- 3D 공간 UI 배치, 가상현실에서 사용

 

Text를 이용한 Text UI

- Image, Panel을 사용해 다양한 Ui표시

- Text 객체의 .text속성을 사용해 코드로 출력 내용 표현

- using UnityEngine.UI선언

 

Info Bubble

- 항상 카메라 방향으로 출력

- 카메라와 거리를 고려해 일정 크기 유지

=>구현 방법

1. Look At(camera) 함수를 이용하여 Text를 카메라를 보게 회전(y축 180도 회전)

2. 거리를 고려하여 text크기 조절(camera와 object간 거리 계산, 거리 비례 localScale 재 조정)

 

TextMeshPro (Asset store의 상용 asset에서의 unity 기본 asset) => Canvas 없이 3D공간에 text 렌더링

- 기본 UI Text와 Text Mesh를 대체

- 다양한 커스텀마이징 가능, 적은 메모리 사용

- 가상현실에서는 가독성 높은 TextMeshPro가 유리

=>Font asset을 생성해서 사용해야함 (사용법이 조금 까다롭다)

=>Canvas에서 사용시 기본은 TextMeshPro형으로 C#은 TextMeshProUGUI사용

 

HUD 구현(Head Up Display) <-카메라 앞에 Canvas객체 위치(카메라에 상속)

- 1인칭 시점 몰입감 표현, 멀미 개선(고정 이미지사용) ex) 지도, 돌아야하는 바퀴 수

- 1인칭 시점 가상 정보 출력

- 플레이어 시점에 따라 같이 이동

Windshield

- 플레이어의 시점에 영향 없이 고정된 위치에 존재

- 카메라와 평행하게 UI 배치

- 플레이어에게 상속되어서 함께 움직이지만 카메라 회전에는 무관

 

요약

- 가상현실은 UI 특성 반영 필요

- 가상현실에서 3D공간과 2D UI 합성 시스템 사용 불가

- 3D Canvas는 render Mode를 world space로 설정

 

저작자표시 (새창열림)

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

웹개발기초 4주차  (0) 2021.09.26
객체지향프로그래밍 4주차  (1) 2021.09.24
정보보호개론 3주차  (1) 2021.09.23
임베디드기초 3주차  (0) 2021.09.22
사물인터넷의이해 3주차  (0) 2021.09.18
'학교수업' 카테고리의 다른 글
  • 웹개발기초 4주차
  • 객체지향프로그래밍 4주차
  • 정보보호개론 3주차
  • 임베디드기초 3주차
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (297)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (47)
        • 코딩 테스트 (3)
      • 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 (1)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

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

티스토리툴바