Version: Unity 6.0 (6000.0)
언어 : 한국어
Video Player component targets
Create a Video Player component

동영상 플레이어 컴포넌트

Video Player 컴포넌트를 사용하여 동영상 파일게임 오브젝트에 연결하고 런타임 시점에 게임 오브젝트의 텍스처에서 재생할 수 있습니다.

아래 스크린샷에서 구형 게임 오브젝트에 연결된 Video Player 컴포넌트를 확인할 수 있습니다.

Video Player 컴포넌트의 Material Property 는 기본적으로 게임 오브젝트의 메인 텍스처로 설정되어 있습니다. 이 설정에서는 렌더러가 있는 게임 오브젝트에 Video Player 컴포넌트가 연결되면, 렌더러의 텍스처가 게임 오브젝트의 메인 텍스처이기 때문에 자동으로 해당 렌더러의 텍스처에 자신(Video Player)을 할당합니다. 여기에서는 게임 오브젝트에 Mesh Renderer 컴포넌트가 있으므로, 자동으로 Video Player가 Renderer 필드에 할당됩니다. 따라서 메시 렌더러의 텍스처에서 동영상 클립이 재생됩니다.

구형 게임 오브젝트에 연결되어 게임 오브젝트의 메인 텍스처(메시 렌더러의 텍스처)에서 동영상 클립을 재생하는 Video Player 컴포넌트
구형 게임 오브젝트에 연결되어 게임 오브젝트의 메인 텍스처(메시 렌더러의 텍스처)에서 동영상 클립을 재생하는 Video Player 컴포넌트

다음의 예와 같이 비디오를 재생할 대상을 직접 선택할 수도 있습니다.

동영상 플레이어 컴포넌트 레퍼런스

프로퍼티 설명
Source 동영상 소스 유형을 선택합니다.
Video Clip Video Player 컴포넌트에 할당할 동영상 클립을 선택합니다. 웹 플랫폼에서는 지원되지 않습니다.
URL Video Player 컴포넌트에 할당할 동영상의 URL을 입력합니다(예: http:// 또는 file://)).
Update Mode Video Player 컴포넌트가 타이밍을 업데이트할 때 사용하는 클럭 소스를 설정합니다.
DSP Time 오디오를 처리하는 동일한 클럭 소스를 사용합니다.
Game Time 게임 클럭과 동일한 클럭 소스를 사용합니다. 이 클럭 소스는 시간 스케일링 및 캡처 프레임 속도 설정의 영향을 받습니다.
Unscaled Game Time 게임 클럭과 동일한 클럭 소스를 사용하되 시간 스케일링 또는 캡처 프레임 속도에 영향을 받지 않게 합니다.
Play On Awake 씬이 실행될 때 동영상을 재생합니다. 런타임 중 다른 지점에서 동영상 재생을 트리거하려면 이 항목을 선택 해제합니다. Play() 커맨드를 사용하여 스크립팅을 통해 트리거합니다.
Wait For First Frame 게임이 시작되기 전에 소스 동영상의 첫 번째 프레임이 표시될 때까지 기다립니다. 동영상 시간을 게임의 나머지 부분과 동기화하도록 이 항목을 선택 해제하면 처음 몇 프레임이 폐기될 수 있습니다.
Loop 소스 동영상이 끝에 도달하면 반복합니다. 동영상이 끝날 때 동영상 재생을 중지하려면 이 항목을 선택 해제합니다.
Skip On Drop 이 옵션을 활성화하면 Video Player 컴포넌트가 재생 위치와 게임 클럭 사이의 드리프트를 감지할 경우 Video Player가 앞으로 건너뜁니다. 이 옵션을 비활성화하면 Video Player가 드리프트를 보정하지 않고 모든 프레임을 체계적으로 재생합니다.
Playback Speed 재생 속도에 대한 멀티플라이어를 0과 10 사이의 값으로 설정합니다. 기본값은 1(일반 속도)입니다. 필드를 2로 설정하면 동영상이 일반 속도의 두 배로 재생됩니다.
Render Mode 동영상을 렌더링할 방법을 선택합니다.
Camera Far Plane 카메라의 원거리 평면에 동영상을 렌더링합니다.
Camera Near Plane 카메라의 근평면에 동영상을 렌더링합니다.
Render Texture 렌더 텍스처에 동영상을 렌더링합니다.
Material Override 렌더러의 머티리얼을 통해 게임 오브젝트의 선택된 Texture 프로퍼티에 동영상을 렌더링합니다.
API Only 동영상을 VideoPlayer.texture 스크립팅 API 프로퍼티로 렌더링합니다. 스크립팅을 사용하여 텍스처를 의도된 대상에 할당해야 합니다.
Camera 동영상을 수신하는 카메라를 정의합니다.
Alpha 소스 동영상에 추가할 전역 투명도 레벨을 설정합니다. 그러면 평면 뒤에 있는 요소가 평면을 통해 보입니다. 알파 채널에 대한 자세한 내용은 동영상 투명도 지원을 참조하십시오.
3D Layout 소스 동영상에서 3D 콘텐츠의 레이아웃을 선택합니다.
None 동영상에는 3D 콘텐츠가 없습니다.
Side by Side 동영상에 왼쪽 눈이 동영상 프레임의 왼쪽 반을 차지하고 오른쪽 눈이 오른쪽 반을 차지하는 3D 콘텐츠가 있습니다.
Over Under 동영상에 왼쪽 눈이 위쪽 반을 차지하고 오른쪽 눈이 동영상 프레임 하단을 차지하는 3D 콘텐츠가 있습니다.
Target Texture Video Player 컴포넌트의 이미지가 렌더링되는 렌더 텍스처를 정의합니다.
Aspect Ratio 해당 Render Mode를 사용할 때 Camera Near Plane, Camera Far Plane 또는 Render Texture를 채우는 이미지의 종횡비입니다.
No Scaling 스케일을 사용하지 않습니다. 동영상이 대상 사각형의 중앙에 표시됩니다.
Fit Vertically 대상 사각형의 세로 길이에 맞추어 소스를 스케일하고 필요에 따라 왼쪽과 오른쪽을 일부 자르거나 좌우에 검정색 영역을 남깁니다. 소스 종횡비가 유지됩니다.
Fit Horizontally 대상 사각형의 가로 길이에 맞추어 소스를 스케일하고 필요에 따라 위쪽과 아래쪽을 일부 자르거나 위아래에 검정색 영역을 남깁니다. 소스 종횡비가 유지됩니다.
Fit Inside 자르지 않고 대상 사각형에 맞게 소스를 스케일합니다. 필요에 따라 왼쪽과 오른쪽 또는 위쪽과 아래쪽에 검은색 영역을 둡니다. 소스 종횡비가 유지됩니다.
Fit Outside 좌우 또는 위아래에 검정색 영역이 생기지 않도록 필요에 따라 잘라서 대상 사각형에 맞게 소스를 스케일합니다. 소스 종횡비가 유지됩니다.
Stretch 대상 사각형에 맞게 가로 또는 세로로 스케일합니다. 소스 종횡비가 유지되지 않습니다.
Renderer Video Player 컴포넌트가 이미지를 렌더링하는 렌더러를 정의합니다. None으로 설정하면 Video Player 컴포넌트와 동일한 게임 오브젝트의 렌더러가 사용됩니다.
Auto-Select Property 이 옵션을 활성화하면 Video Player 컴포넌트가 렌더러의 메인 텍스처를 자동으로 선택합니다. 이 옵션을 비활성화하면 Material Property 옵션을 수동으로 설정할 수 있습니다.
Material Property Video Player 컴포넌트 이미지를 수신하는 Material Texture 프로퍼티의 이름입니다.
Audio Output Mode 소스의 오디오 트랙을 출력하는 방법을 정의합니다.
None 오디오가 재생되지 않습니다.
오디오 소스 Unity의 오디오 프로세싱을 적용할 수 있도록 오디오 샘플을 선택된 오디오 소스에 전송합니다.
직접 기여(Direct) Unity 오디오 프로세싱을 건너뛰고 오디오 샘플을 오디오 출력 하드웨어로 직접 전송합니다.
API Only (Experimental) 오디오 샘플은 연결된 AudioSampleProvider로 전송됩니다.
Controlled Tracks 동영상의 오디오 트랙 수입니다.

SourceURL인 경우에만 표시됩니다. SourceVideo Clip인 경우, 동영상 파일을 검사하여 트랙 수를 결정합니다.
Track Number 재생에 사용할 연결된 오디오 트랙을 활성화합니다. 재생하기 전에 설정해야 합니다.

체크박스 왼쪽에 있는 텍스트는 오디오 트랙에 대한 정보를 제공합니다(특히 트랙 번호, 언어, 채널 수).

소스가 URL인 경우 이 정보는 재생 중에만 사용할 수 있습니다.

이 프로퍼티는 소스가 오디오 트랙(또는 트랙)이 있는 동영상 클립이거나 소스가 URL인 경우에만 나타납니다(재생 중에 URL에서 예상되는 트랙 수를 나타낼 수 있음).
오디오 소스 오디오 트랙이 재생되는 오디오 소스입니다. 타겟 오디오 소스는 오디오 클립도 재생할 수 있습니다.

오디오 소스의 재생 컨트롤(스크립팅 API의 Play On AwakePlay())은 동영상 소스의 오디오 트랙에 적용되지 않습니다.

이 프로퍼티는 Audio Output ModeAudio Source로 설정된 경우에만 표시됩니다.
Mute 연결된 오디오 트랙을 음소거합니다. Audio Source 모드에서는 오디오 소스의 컨트롤이 사용됩니다.

이 프로퍼티는 Audio Output ModeDirect로 설정된 경우에만 표시됩니다.
Volume 연결된 오디오 트랙의 볼륨입니다. Audio Source 모드에서는 오디오 소스의 볼륨이 사용됩니다.

이 프로퍼티는 Audio Output ModeDirect로 설정된 경우에만 표시됩니다.

동영상 플레이어 스크립팅 예시

다음 스크립트는 Video Player 컴포넌트의 몇 가지 기능을 보여 줍니다.

// Examples of Video Player function

using UnityEngine;

public class Example : MonoBehaviour
{
    void Start()
    {
        // Will attach a Video Player to the main camera.
        GameObject camera = GameObject.Find("Main Camera");

        // VideoPlayer automatically targets the camera backplane when it is added
        // to a camera object, no need to change videoPlayer.targetCamera.
        var videoPlayer = camera.AddComponent<UnityEngine.Video.VideoPlayer>();

        // Play on awake defaults to true. Set it to false to avoid the url set
        // below to auto-start playback since we're in Start().
        videoPlayer.playOnAwake = false;

        // By default, Video Players added to a camera will use the far plane.
        // Let's target the near plane instead.
        videoPlayer.renderMode = UnityEngine.Video.VideoRenderMode.CameraNearPlane;

        // This will cause our Scene to be visible through the video being played.
        videoPlayer.targetCameraAlpha = 0.5F;

        // Set the video to play. URL supports local absolute or relative paths.
        // Here, using absolute.
        videoPlayer.url = "/Users/graham/movie.mov";

        // Skip the first 100 frames.
        videoPlayer.frame = 100;

        // Restart from beginning when done.
        videoPlayer.isLooping = true;

        // Each time we reach the end, we slow down the playback by a factor of 10.
        videoPlayer.loopPointReached += EndReached;

        // Start playback. This means the Video Player may have to prepare (reserve
        // resources, pre-load a few frames, etc.). To better control the delays
        // associated with this preparation one can use videoPlayer.Prepare() along with
        // its prepareCompleted event.
        videoPlayer.Play();
    }

    void EndReached(UnityEngine.Video.VideoPlayer vp)
    {
        vp.playbackSpeed = vp.playbackSpeed / 10.0F;
    }
}

VideoPlayer

Video Player component targets
Create a Video Player component