Version: Unity 6.0 (6000.0)
언어 : 한국어
MovieTexture에서 VideoPlayer로 마이그레이션
파노라마 비디오

Video Player 컴포넌트의 시계 관리 옵션

이 섹션에서는 Video Player 컴포넌트에서 사용할 수 있는 다양한 시간 업데이트 모드와 이를 사용하는 방법을 설명합니다.

Video Player 컴포넌트를 사용하면 다른 인터랙티브 동작을 기준으로 비디오 재생 시점을 제어할 수 있습니다. 예를 들어 비디오 재생을 애니메이션 또는 오디오와 동기화할 수 있습니다. 이는 다음 시간 업데이트 모드를 통해 수행할 수 있습니다.

  • 오디오 DSP(디지털 시그널 프로세싱) 클럭
  • 게임 시간
  • 스케일되지 않은 게임 시간

비디오 플레이어는 Unity의 캡처 프레임 속도(Time.captureFramerate)와 캡처 델타 시간(Time.captureDeltaTime)을 따릅니다.

캡처 프레임 속도를 지정하면 비디오 플레이어의 재생이 동기화됩니다. 즉, 전체 게임 실행을 지연해야 하더라도 비디오 플레이어는 예상 타임스탬프에 모든 프레임을 표시합니다. 캡처 프레임 속도의 또 다른 장점은 준비 및 검색 작업을 차단하여 일관되고 정확한 결과를 얻게 해준다는 것입니다. 하지만 특히 비디오가 씬의 나머지 부분과 동기화되어 있어야 하는 경우에는 게임 실행 속도가 느려질 수 있습니다. 예를 들어 Unity 레코더는 이러한 특수한 시간 동작을 사용하여 기록을 원활하게 생성합니다.

캡처 프레임 속도는 게임 시간에만 영향을 줍니다. 비디오 플레이어가 캡처 프레임 속도를 사용하는 동안 Unscaled Game Time 또는 Audio DSP 클럭을 사용하는 경우, 비디오 플레이어는 캡처 프레임 속도를 무시하고 비동기 재생을 사용합니다. 즉, 비디오 플레이어는 필요에 따라 프레임을 건너뛰거나 반복하며, 준비 또는 검색 작업은 재생 차단을 방지하기 위해 비동기식으로 수행됩니다. 하지만 이는 비디오 플레이어의 시간 업데이트 모드를 Game Time으로 선택한 경우에만 발생합니다.

참고: 웹 플랫폼에서 Unity의 비디오 플레이어는 captureFramerate와의 동기식 재생을 지원하지 않으며, 기본적으로 Game Time 업데이트 모드에 설명된 일반 비동기식 재생을 사용합니다.

오디오 DSP 클럭

오디오 DSP 클럭은 오디오 모듈에서 가져오며 AudioSettings.dspTime을 통해 액세스할 수 있습니다.

게임 시간

게임 시간은 Time 모듈에서 설정되며 Time.time을 통해 C#을 사용하여 액세스할 수 있습니다. 게임 시간(스케일된 게임 시간이라고도 함)을 사용하는 경우 Unity는 Time 창에 설정된 Time Scale 값을 따릅니다. Time.timeScale을 통해 C#을 사용하여 Time Scale 값을 수정할 수도 있습니다. 그러나 캡처 프레임 속도 또는 캡처 델타 시간의 값이 0이 아닌 경우, 게임 시간은 시간 관리자의 캡처 프레임 속도 기능을 관리하는 규칙에 따라 변경됩니다.

참고: 캡처 델타 시간은 1을 캡처 프레임 속도로 나눈 것과 같습니다. 이는 동일한 정보를 다른 관점에서 바라본 것입니다.

스케일되지 않은 게임 시간

스케일되지 않은 게임 시간을 사용하면 비디오 플레이어는 Time Scale 값을 무시합니다. 스케일되지 않은 게임 시간은 Time 모듈에서 가져오며 Time.unscaledTime을 통해 C#을 사용하여 액세스할 수 있습니다.

추가 리소스

MovieTexture에서 VideoPlayer로 마이그레이션
파노라마 비디오