HTC VIVE

VRED는 HTC VIVE, VIVE Pro, VIVE Pro Eye, VIVE Focus 시리즈, VIVE Flow, VIVE Cosmos, VIVE Cosmos Elite, VIVE XR Elite 시리즈를 지원합니다.

VIVE 컨트롤러가 감지되면 손이 트래킹된 포즈에서 렌더링됩니다. VR의 손 을 참조하십시오. VIVE 트래킹기가 감지되면 단순한 정적 기하학적 표현이 트래킹된 포즈에서 렌더링됩니다.

VIVE VIVE Cosmo
번호가 매겨진 Vive VIVE Cosmo 내부 버튼

1 VR 메뉴(메뉴 버튼)

2 텔레포트(트랙패드)

3 툴팁(그립)

4 포인터(트리거)

Python 스크립트를 사용하여 컨트롤러 및 트래킹기에 예를 들어 추적되는 장치의 버튼 클릭 또는 이동에 반응하도록 동작을 추가합니다. 예제 파일 OpenVRExample.vpbHTC VIVE에 대한 VRED에서 상호 작용 추가 를 참조하십시오.

VRED에서 VIVE를 설정하고 활성화하는 방법

VRED는 OpenXROpenVR(SteamVR 사용)을 통해 VIVE Cosmos와 같은 HTC VIVE 하드웨어의 사용을 지원합니다. VIVE Pro Eye 사용자의 경우 VRED에서 포비티드 렌더링을 위한 시선 추적을 지원합니다.

  1. 장면을 로드합니다.

  2. 뷰 > 표시를 선택하고 HMD 모드를 선택합니다.

    • XR 환경의 경우 OpenXR HMD를 선택합니다.

    • VR 환경의 경우 OpenVR HMD를 선택합니다. 아직 SteamVR이 실행되지 않은 경우 잠시 기다리면 자동으로 시작됩니다.

      중요:

      OpenVR HMD 모드를 사용하기 전에 SteamVR 소프트웨어를 설치해야 합니다. 설치하지 않은 경우 https://store.steampowered.com/steamvr로 이동하여 Install Steam을 클릭합니다. 설치되면 화면의 맨 위에 있는 VR 버튼을 클릭하여 SteamVR을 설치합니다.

시선 분리 설정

VIVE 헤드셋의 하드웨어 슬라이더를 사용하여 양쪽 눈 사이의 거리를 설정합니다. 가시화 > 스테레오 > 스테레오 설정 > 시선 분리를 선택하여 VRED에서 이 값을 덮어쓸 수 있습니다.

컨트롤러 및 VIVE 트래킹기

VIVE 컨트롤러가 감지되면 손이 트래킹된 포즈에서 렌더링됩니다. VR의 손을 참조하십시오. VIVE 트래킹기가 감지되면 단순한 정적 기하학적 표현이 트래킹된 포즈에서 렌더링됩니다.

Python 스크립트를 사용하여 컨트롤러 및 트래킹기에 예를 들어 추적되는 장치의 버튼 클릭 또는 이동에 반응하도록 동작을 추가합니다.

예제 파일 OpenVRExample.vpbHTC VIVE에 대한 VRED에서 상호 작용 추가를 참조하십시오.

장면의 특정 지점에서 VR 체험을 시작하는 방법

장면의 특정 지점(예: 객체의 1미터 앞)에서 VR 체험을 시작해야 할 경우 다음을 수행합니다.

  1. VR에서 서 있고 싶은 장면의 바닥에 뷰포인트를 만듭니다(장면 > 카메라 편집기에서 마우스 오른쪽 버튼을 클릭하고 만들기 > 뷰포인트 선택).

    참고:

    이 뷰포인트를 만들려면 뷰포인트를 만드는 방법 을 참조하십시오.

  2. 뷰 > 표시 > OpenVR HMD를 선택합니다.

  3. 미리 정의된 뷰포인트를 활성화합니다.

    좌표계에 대한 자세한 설명은 카메라 를 참조하십시오.

트래킹 원점 유형

중요:

SteamVR 업데이트로 인해 VIVE 트래킹기의 기본 동작이 변경되면 VRED에서 트래킹기 회전 문제가 발생합니다. 해결 방법은 이 포럼 게시물 하단에 있는 Re: Vive 트래킹기 방향 문제 VRED 2019 의 회신을 참조하십시오. SteamVR 업데이트에 대한 자세한 내용은 최근 VIVE 트래킹기 변경 사항 문서를 참조하십시오.

공간 축척앉음 모드 간의 유일한 차이점은 가정된 트래킹 원점입니다. 트래킹 값은 이 원점을 기준으로 보고됩니다.

  • 공간 축척(기본값)

    공간 축척 가정 트래킹 원점은 바닥의 재생 영역 중심에 있습니다. 트래킹 값은 중심 위치를 기준으로 합니다. 재생 영역은 SteamVR에서 구성됩니다.

  • 앉음

    앉음 트래킹 원점은 사용자의 머리에 있습니다. 트래킹 값은 사용자가 설정한 앉음 0(영) 포즈(기본 앉음 위치)를 기준으로 합니다. 이 모드는 현실과 가상 세계가 실제로 일치할 필요가 없는 시나리오에만 적합합니다.

    참고:

    Python 명령을 사용하여 앉음 모드를 활성화하려면 앉음 모드 를 참조하십시오.

카메라

VRED 기본 장면 설정은 Z축 위쪽입니다. OpenVR 모드에서 VRED는 기본적으로 공간 축척 트래킹을 사용합니다. 다음에서는 장면이 Z축 위쪽으로 설정되고 공간 축척 트래킹 모드를 사용한다고 가정합니다.

ZYX 축 UpZ

카메라 변환 및 트래킹 공간

VRED 활성 카메라의 변환(이동 및 회전)은 장면에서 트래킹 공간의 원점/위치 및 방향 지정 방법을 정의합니다.

  • 카메라 위치바닥 위 재생 영역의 기본 서 있는 지점(~중심)을 나타냅니다. VR의 기본 카메라 위치는 (0, 0, 0)입니다.

  • 카메라의 Z 값 위치바닥 높이를 나타냅니다. VR의 기본 카메라 높이는 0입니다.

  • 카메라 뷰 방향기본 앞쪽 방향을 나타냅니다. VR의 기본 카메라 방향은 VRED의 월드 좌표계에서 양의 Y축입니다.

    HMD(헤드 장착형 디스플레이)를 착용하는 동안 기본 앞쪽 방향은 사용자가 실제 세계에서 선호하는 시선 방향입니다. 이는 트래킹 시스템 설치 시 SteamVR에서 설정됩니다.

  • 카메라 상향 벡터는 항상 (0, 0, 1)로 설정해야 합니다. 이는 VRED의 표준 좌표계에서 Z축입니다.

HMD의 VRED SteamVR 트래킹 값은 카메라 변환 위에 적용됩니다.

OpenVR HMD 모드가 활성화될 때마다 VRED 장면의 활성 카메라는 표준 위치 (0, 0, 0)으로 설정되고 양의 Y축을 따라 보입니다. OpenVR을 다시 비활성화한 후 카메라는 이전 위치/방향으로 리셋됩니다.

다음 이미지에서 간단한 외부 설정 예제를 확인할 수 있습니다.

  • 아래 이미지는 HMD 트래킹 값이 없는 VRED 카메라가 원점에서 바닥에 어떻게 놓여 있는지와 트래킹 값이 적용될 때 카메라가 배치되는 위치(주황색으로 표시)를 보여 줍니다.

    기본 카메라

  • 아래 이미지에서는 VRED 카메라가 X축을 따라 -1000단위 이동되었습니다. 따라서 트래킹이 적용된 카메라도 1000단위 이동되었습니다.

    이동된 카메라

마우스를 사용하여 탐색하지 않는 이유

렌더 윈도우에서 마우스를 사용하여 탐색하면 활성 카메라의 변환이 변경됩니다. VR 실행 중에 활성 카메라를 변환할 수 있지만 그러면 카메라가 더 이상 바닥 수준에 놓이거나 제대로 회전할 수 없게 됩니다. 따라서 VR에서 마우스를 사용한 탐색은 사용하지 않는 것이 좋습니다.

바닥 수준 및 초기 위치(공간 축척 모드)

공간 축척 모드에서는 카메라의 Z 이동 값으로 바닥 수준을 정의합니다. 즉, 장면의 Z 값은 트래킹되는 공간의 실제 바닥에 해당합니다. 따라서 장면에서 바닥이 Z = 0에 있지 않은 경우 카메라의 Z 값을 적절하게 조정합니다.

참고:

또는 카메라를 (0, 0, 0)에 두고 Python 함수 setOpenVRTrackingOrigin(Pnt3f(x,y,z))를 사용할 수 있습니다.

예: Automotive_Genesis.vpb의 바닥 수준

아래 장면에서 장면 원점 (0, 0, 0)이 전면 축의 중심에 있으므로 바닥 수준이 Z = 0이 아니라 Z = -337로 설정되어 있습니다.

바닥 레벨

  • 고정 평면의 Z 값 찾기 - 고정 평면의 Z 값을 찾으려면 장면 그래프에서 그림자 평면 노드를 선택하고, 마우스 오른쪽 버튼으로 클릭하고, 메뉴에서 정보...를 선택합니다. 노드 정보 대화상자에서 표준 Z 값(고정 평면)인 경계 상자 중심의 세 번째 값을 확인합니다.

    경계 상자의 중심

    장면의 특정 형상에 대해 이 방법이 적용되지 않을 경우 측정 모듈을 사용하여 임시 점 대 점 측정을 만듭니다.

점 대 점 측정을 만드는 방법

  1. 메뉴 막대에서 인터랙션 > 측정을 선택합니다.
  2. 측정 모듈의 상단 섹션 내에서 마우스 오른쪽 버튼을 클릭하고 점 대 점 측정 추가를 선택합니다.
  3. Shift 키를 누른 채 바닥을 따라 두 개의 점을 선택한 다음 속성 섹션에서 선택한 점 중 하나에 대한 Z 값을 확인합니다.

카메라 이동을 변경하여 바닥 수준을 설정하는 방법

카메라 이동을 변경하여 바닥 수준을 설정하려면 OpenVR을 활성화해야 합니다. 그러면 카메라 이동이 자동으로 (0, 0, 0)으로 설정됩니다. 여기서 여러 방법 중 하나를 사용하여 카메라 설정을 바닥 수준으로 가져와 이동을 변경합니다.

  1. OpenVR을 활성화합니다.

  2. 카메라 이동을 (0, 0, -337)로 변경합니다. 이 작업은 카메라 편집기에서 수행할 수 있습니다(장면 > 카메라 편집기).

  3. 카메라 노드가 장면 그래프에서 상위 변환 노드에 의해 변환된 경우 변환 편집기를 사용합니다. 해당 이동 섹션에서 좌표계를 표준으로 변경하여 이동에 표준 좌표가 사용되게 합니다.

  4. 카메라 위치를 올바르게 설정한 후 새 뷰포인트를 만듭니다.

    팁:

    이 값을 나중에 사용하려면 OpenVR에 있을 때 활성화할 수 있는 뷰포인트에 저장합니다. 카메라 편집기 또는 Python을 사용하여 뷰포인트를 활성화합니다. 뷰포인트를 활성화하기 위한 Python 함수에 대한 정보를 보려면 OpenVR 및 뷰포인트 활성화 바로 가기 를 참조하십시오.

포비티드 렌더링

VRED Pro 및 Design 2020.2의 경우 OpenGL에서 시선이 추적되는 포비티드 렌더링을 위해 HTC VIVE Pro Eye 헤드셋을 사용합니다. 그래픽 카드(예: 튜링 아키텍처, OpenGL 확장 지원, 쉐이딩 속도 이미지가 포함된 NVIDIA 그래픽 카드)가 필요합니다.

참고:

이 옵션은 현재 Varjo 및 StarVR 헤드셋에는 지원되지 않습니다. 시선 추적 기능이 없는 다른 헤드셋의 경우 VR의 포비티드 렌더링 기본 설정 옵션을 사용하도록 설정할 수 있습니다. 그러나 시선을 추적할 수 없기 때문에 중심와 영역이 이동하지 않습니다. 이미지의 중심에 계속 고정되어 있습니다.

동적 포비티드 렌더링은 VIVE Pro Eye 사용자의 시선 방향을 추적합니다. 현재 초점을 맞춘 이미지 영역을 주변보다 높은 쉐이딩 품질을 사용하여 렌더링합니다. HMD 가상 현실 기본 설정의 옵션을 사용하여 렌더링 속도를 높이거나 시각적 품질을 향상시킬 수 있습니다.

포비티드 렌더링은 계산 집약적 재질과 실시간 안티앨리어싱을 사용하여 장면의 성능을 향상시킬 수 있습니다.

뷰포인트를 만드는 방법

카메라 편집기 내에서 만들어지는 뷰포인트는 카메라에 대한 저장된 매개변수입니다. 뷰포인트는 카메라를 변환할 때 장면 트래킹 공간의 위치 및 방향 지정 방법을 정의합니다. 따라서 VR의 경우 일반 데스크톱 뷰 모드에서 기존 뷰포인트 설정을 재사용할 수 없고 특수한 VR 뷰포인트를 만들어야 합니다.

뷰포인트에 대한 변환을 설정할 때 외부에서 보조 카메라를 사용하여 실제 카메라를 보는 것이 더 쉽습니다(뷰 > 카메라 표시). 이 작업을 완료하고 나면 장면에서 변환 조절기를 사용하여 표시된 카메라를 원하는 위치로 이동합니다.

뷰포인트 만들기

"바닥" 카메라에서 뷰포인트를 만들려면 먼저 "바닥" 카메라를 활성화하고 뷰포인트를 만든 다음 다른 카메라를 다시 활성화하여 다음 뷰포인트를 동일한 방식으로 설정합니다.

참고:

새 뷰포인트는 항상 활성 카메라의 변환으로부터 만들어지므로 뷰포인트를 만들기 전에 카메라를 활성화해야 합니다.

  • 이동 - 카메라 이동은 바닥에 있어야 합니다.

  • 회전 - 카메라 뷰 방향은 기본 앞쪽 방향이므로 상향 벡터는 0, 0, 1(VRED 표준 Z축)이어야 합니다. 이를 확인하려면 장면 > 카메라 편집기 > 고급 탭 > 시작/위치/상향을 선택합니다.

  • 활성화 - 즉각적인 텔레포테이션의 경우 애니메이션 없이 뷰포인트를 활성화합니다. VRED의 뷰포인트 애니메이션은 시작과 끝 부분에 가속 설정이 있어 VR에서 불편함을 유발할 수 있습니다. 따라서 장면 > 카메라 편집기 > 카메라 설정 > 애니메이션을 선택하여 카메라 편집기에서 애니메이션을 비활성화하십시오.

VIVE: 트래킹 보정 확인 방법

가상 장면의 측정값은 실제 세계와 1:1 비율이므로 VIVE 보정이 올바른지 확인하려면 다음을 수행하십시오.

  1. VRED에서 1x1 미터 상자를 만듭니다.
  2. VR에서 메뉴 버튼이 완벽하게 상자 가장자리에 오도록 컨트롤러를 배치합니다.
  3. 이 버튼 간의 실제 거리를 측정합니다. 이 값이 일치하지 않으면 VIVE 설정을 다시 보정해야 합니다.