Version: Unity 6.0 (6000.0)
언어 : 한국어
Video Player 컴포넌트의 시계 관리 옵션
Introduction to panoramic videos

파노라마 비디오

Unity 에디터의 파노라마 비디오 기능을 통해 다음 작업을 수행할 수 있습니다.

  • 360도로 촬영한 비디오를 쉽게 포함시킬 수 있습니다.
  • 실제 지오메트리 대신 미리 렌더링된 배경 비디오를 포함시켜 씬의 복잡성을 줄일 수 있습니다.

Unity는 등장방형 레이아웃(경도 및 위도) 또는 큐브맵 레이아웃(6프레임)의 180도 및 360도 비디오를 지원합니다.

등장방형 2D 비디오의 종횡비는 360도 콘텐츠의 경우 정확히 2:1이고 180도 콘텐츠의 경우 정확히 1:1이어야 합니다.

등장방형 2D 비디오
등장방형 2D 비디오

큐브맵 2D 비디오의 종횡비는 면 레이아웃에 따라 1:6, 3:4, 4:3, 또는 6:1이어야 합니다.

큐브맵 2D 비디오
큐브맵 2D 비디오

Unity 에디터에서 파노라마 비디오 기능을 사용하려면 파노라마 비디오 클립에 액세스할 권한이 있거나 이런 클립을 작성할 줄 알아야 합니다.

이 페이지에서는 에디터에 파노라마 비디오를 표시하는 절차에 대해 설명합니다.

  1. 비디오 소스를 렌더 텍스처에 재생하도록 비디오 플레이어를 설정합니다.

  2. 렌더 텍스처를 받는 스카이박스 머티리얼을 설정합니다.

  3. 스카이박스 머티리얼을 사용하도록 씬(Scene)을 설정합니다.

참고: 리소스를 많이 소모하는 기능입니다. 최상의 시각적 결과를 얻으려면 최대한 높은 해상도(대개 4K 또는 8K)의 파노라마 비디오를 사용하십시오. 용량이 큰 비디오는 더 많은 컴퓨팅 성능과 디코딩 리소스를 필요로 합니다. 대부분의 시스템에는 최대 비디오 디코딩 해상도에 일정 제한이 있습니다. 예를 들어 많은 모바일 디바이스는 HD 또는 2K로 제한되며, 이전 사양의 데스크톱은 2K 또는 4K로 제한될 수 있습니다.

1. 비디오 플레이어 설정

비디오를 에셋으로 Unity에 임포트합니다. 비디오 플레이어를 생성하려면 프로젝트 뷰에서 비디오 에셋을 Unity 계층 구조(Hierarchy) 뷰의 빈 영역으로 드래그합니다. 기본적으로 컴포넌트가 기본 카메라의 전체 화면 비디오를 재생하도록 설정됩니다. 이를 보려면 Play 를 누릅니다.

이 동작이 렌더 텍스처로 렌더링되도록 변경해야 합니다. 이렇게 하면 어떻게 표시되는지 정확하게 제어할 수 있습니다. 이를 수행하려면 Assets > Create > Render Texture 로 이동합니다.

비디오와 정확히 일치하도록 렌더 텍스처의 Size 를 설정합니다. 비디오의 크기를 확인하려면 Assets 폴더에서 비디오를 선택하고 인스펙터 창을 봅니다. Unity가 비디오를 미리 볼 수 있는 섹션으로 스크롤하여 미리보기 창에서 비디오 이름을 선택하고 Source Info 로 변경합니다.

다음으로, 렌더 텍스처의 Depth Buffer 옵션을 No depth buffer 로 설정합니다.

렌더 텍스처를 No depth buffer로 설정

이제 Video Player 인스펙터를 열고 Render ModeRender Texture 로 전환합니다. Asset 뷰에서 새 렌더 텍스처를 Target Texture 슬롯으로 드래그합니다.

재생 모드로 전환하여 올바로 작동하는지 확인합니다.

비디오는 게임(Game) 창에서 렌더링되지 않지만, 렌더 텍스처 에셋을 선택하여 각 비디오 프레임마다 콘텐츠가 업데이트되는 것을 확인할 수 있습니다.

2. 스카이박스 머티리얼 생성

기본 스카이박스를 비디오 콘텐츠로 대체하여 파노라마 비디오를 씬의 배경으로 렌더링해야 합니다.

이를 수행하려면 새 머티리얼을 생성합니다(Assets > Create > Material). 새 머티리얼의 인스펙터로 이동하여 머티리얼의 셰이더를 스카이박스/파노라마(Shader > Skybox > Panoramic)로 설정합니다.

렌더 텍스처를 에셋 뷰에서 새 머티리얼의 인스펙터에 있는 텍스처 슬롯으로 드래그합니다.

파노라마 비디오를 올바르게 표시하려면 비디오의 콘텐츠 유형(큐브맵 또는 등장방형)을 올바르게 식별해야 합니다. 큐브맵 콘텐츠(정적 스카이박스 텍스처와 마찬가지로 교차 및 스트립 레이아웃 등)의 경우 Mapping6 Frames Layout 으로 설정합니다.

등장방형 콘텐츠의 경우 Mapping__을 Latitude Longitude Layout__으로 설정한 다음, 360 degree 또는 180 degree 하위 옵션을 선택합니다. 비디오가 전체 360도 뷰를 다루는 경우 360 degree 옵션을 선택합니다. 비디오가 전면 180도 뷰일 때는 180 degree 를 선택합니다.

머티리얼 인스펙터 하단의 Preview 창을 확인하십시오. 이동하면서 콘텐츠가 올바르게 표시되는지 확인합니다.

3. 파노라마 비디오를 스카이박스에 렌더링

마지막으로, 새 스카이박스 머티리얼을 씬에 연결해야 합니다.

  1. Lighting 창을 엽니다(메뉴: Window > General > Lighting).

  2. 새 스카이박스 머티리얼 에셋을 Environment 아래의 첫 슬롯에 드래그합니다.

  3. Play를 눌러 비디오를 스카이박스에 씬 배경으로 표시합니다.

  4. 씬 카메라 방향을 변경하여 스카이박스의 다른 부분(파노라마 비디오의 다른 부분)을 표시합니다.

3D 파노라마 비디오

특히 소스 비디오에 스테레오 콘텐츠가 있는 경우 Player 설정(메뉴: Edit > Project Settings 에서 Player 카테고리를 선택하고 XR Settings 패널 열기)에서 Virtual Reality Support를 활성화합니다. 이렇게 하면 스카이박스/파노라마 머티리얼의 추가 3D Layout 옵션을 사용할 수 있습니다. 3D 레이아웃에는 세 가지 옵션으로 Side by Side, Over Under, None(기본값)이 있습니다.

비디오에서 왼쪽 눈에 해당하는 콘텐츠가 왼쪽에 있고 오른쪽 눈에 해당하는 콘텐츠가 오른쪽에 있는 경우에는 Side by Side 설정을 사용합니다. 비디오에서 왼쪽 및 오른쪽 콘텐츠가 서로 위와 아래에 위치한 경우 Over Under 를 선택합니다. Unity는 현재 렌더링 중인 눈을 감지하고 이 정보를 Single Pass Stereo Rendering을 사용하여 스카이박스/파노라마 셰이더로 전송합니다. 셰이더에는 Unity가 각 눈의 콘텐츠를 VR로 렌더링할 때 이 정보를 기반으로 비디오의 올바른 절반 부분을 선택하는 로직이 포함되어 있습니다.

3D 파노라마 비디오
3D 파노라마 비디오

(스카이박스 머티리얼을 사용하지 않아야 하는) 360도가 아닌 3D 비디오의 경우 카메라 Near/Far 평면 렌더 모드 사용 시에 동일한 3D Layout 을 Video Player 컴포넌트에 직접 사용할 수 있습니다.

큐브맵 비디오용 대체 렌더 텍스처 유형

큐브맵 비디오를 사용하여 작업하는 경우 비디오 플레이어가 2D 렌더 텍스처에 렌더링하고 정확한 큐브 맵 레이아웃을 유지하도록 하지 않고 그 대신 비디오 플레이어를 렌더 텍스처 큐브에 직접 렌더링할 수 있습니다.

이렇게 하려면 렌더 텍스처 에셋의 Dimension2D 에서 Cube 로 변경하고 렌더 텍스처의 Size 를 소스 비디오의 개별 면 크기와 정확히 같게 설정합니다.

예를 들어 크기가 4096x3072인 4x3 가로 교차 큐브맵 레이아웃 비디오가 있는 경우 렌더 텍스처의 Size 를 1024x1024(4096/4 및 3072/3)로 설정합니다.

큐브 타겟 텍스처로 렌더링하는 동안 비디오 플레이어는 소스 비디오의 교차 또는 스트립 레이아웃(비디오 종횡비를 사용하여 결정됨)에 큐브맵이 포함되어 있다고 가정합니다. 그런 다음 비디오 플레이어는 렌더 텍스처의 면을 올바른 큐브 면으로 채웁니다.

그 결과로 생성되는 렌더 텍스처 큐브를 스카이박스로 사용합니다. 이렇게 하려면 머티리얼을 생성하고 위에서 설명한 스카이박스/파노라마 머티리얼 대신 Skybox/CubemapShader(Shader > Skybox > Cubemap)로 할당합니다.

비디오 크기와 트랜스코딩

3D 콘텐츠를 포함시키려면 (Side-by-Side 또는 Over-Under 레이아웃에 따라) 비디오 너비 또는 높이의 두 배가 필요합니다.

여러 데스크톱 하드웨어 비디오 디코더는 4K 해상도로 제한되고 모바일 하드웨어 비디오 디코더는 종종 2K 이하로 제한되므로 해당 플랫폼에서 실시간으로 재생할 수 있는 해상도가 제한됩니다.

비디오 트랜스코딩을 사용하여 파노라마 비디오의 저해상도 버전을 만들 수 있지만, 왼쪽과 오른쪽 3D 콘텐츠 사이나 큐브맵 면과 인접한 검은색 영역 사이에 블리딩이 발생하지 않도록 주의하십시오. 일반적으로 비디오를 2의 제곱수 크기로 만들고 다른 2의 제곱수 크기로 트랜스코딩하여 시각적 결함을 줄여야 합니다.


  • 2017–10–25

  • 2017.3 NewIn20173에서 2D 및 3D 파노라마 비디오 지원 추가

Video Player 컴포넌트의 시계 관리 옵션
Introduction to panoramic videos