Version: 2023.2
언어: 한국어
동영상 개요
MovieTexture에서 VideoPlayer로 마이그레이션

Video Player 컴포넌트

비디오 플레이어 컴포넌트를 사용하여 비디오 파일게임 오브젝트에 연결하고 런타임 시점에 게임 오브젝트의 텍스처에서 재생할 수 있습니다.

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

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

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

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

Video Player component reference

프로퍼티 설명
소스 Choose the source type of your video.
Video Clip Select the Video Clip to assign to the Video Player component. This isn’t supported on the Web platform.
URL Enter the URL (for example, http:// or file://) of the video you want to assign to the Video Player.
Update Mode Set the clock source that the Video Player component uses to update its timing.
DSP Time Use the same clock source that processes audio.
Game Time Use the same clock source as the game clock. This clock source is affected by the time scaling and capture frame rate settings.
Unscaled Game Time Use the same clock source as the game clock but without being affected by time scaling or capture frame rate.
Play On Awake Play the video when the Scene launches. Clear it if you want to trigger the video playback at another point during runtime. Trigger it via scripting with the Play() command.
Wait For First Frame Wait for the first frame of the source video to be ready for display before the game starts. Clear it to keep the video time in sync with the rest of the game, which might cause the first few frames to be discarded.
Loop Loop the source video when it reaches its end. Clear it to stop playing the video when it reaches the end.
Skip On Drop When you enable this option, and the Video Player component detects drift between the playback position and the game clock, the Video Player skips ahead. When you disable this option, the Video Player doesn’t correct for drift and systematically plays all frames.
Playback Speed Set a multiplier for the playback speed, as a value between 0 and 10. This is set to 1 (normal speed) by default. If the field is set to 2, the video plays at two times its normal speed.
Render Mode Choose how the video will render.
Camera Far Plane 카메라의 후방 절단면에 비디오를 렌더링합니다.
Camera Near Plane 카메라의 전방 절단면에 비디오를 렌더링합니다.
Render Texture 렌더 텍스처에 비디오를 렌더링합니다.
Material Override 렌더러의 머티리얼을 통해 게임 오브젝트의 선택된 프로퍼티에 비디오를 렌더링합니다.
API Only 비디오를 VideoPlayer.texture 스크립팅 API 프로퍼티에 렌더링합니다. 스크립트를 사용하여 텍스처를 원하는 대상에 할당해야 합니다.
Camera 비디오를 수신하는 카메라를 정의합니다.
Alpha Set the global transparency level to add to the source video. This allows elements behind the plane to be visible through it. For more information about alpha channels, refer to video transparency support.
3D Layout Choose the layout of 3D content in the source video.
없음 Video doesn’t have any 3D content.
Side by Side Video has 3D content where the left eye occupies the left half and right eye occupies the right half of video frames.
Over Under Video has 3D content where the left eye occupies the upper half and right eye occupies the lower half of video frames.
Target Texture 비디오 플레이어의 이미지가 렌더링되는 렌더 텍스처를 정의합니다.
Aspect Ratio Set the aspect ratio of the images that fill the Camera Near Plane, Camera Far Plane, or Render Texture when the corresponding Render Mode is used.
No Scaling 스케일을 사용하지 않습니다. 비디오가 대상 사각형의 중앙에 표시됩니다.
Fit Vertically 대상 사각형의 세로 길이에 맞추어 소스를 스케일하고 필요에 따라 왼쪽과 오른쪽을 일부 자르거나 좌우에 검정색 영역을 남깁니다. 소스 종횡비가 유지됩니다.
Fit Horizontally 대상 사각형의 가로 길이에 맞추어 소스를 스케일하고 필요에 따라 위쪽과 아래쪽을 일부 자르거나 위아래에 검정색 영역을 남깁니다. 소스 종횡비가 유지됩니다.
Fit Inside 소스를 자를 필요가 없도록 대상 사각형에 맞추어 스케일합니다. 필요에 따라 좌우 또는 아래위에 검정색 영역을 남깁니다. 소스 종횡비가 유지됩니다.
Fit Outside 좌우 또는 위아래에 검정색 영역을 생기지 않도록 필요에 따라 잘라서 좌우 또는 위아래를 일부 잘라서 대상 사각형에 맞게 소스를 스케일합니다. 소스 종횡비가 유지됩니다.
Stretch Scale both horizontally or vertically to fit the destination rectangle. The source aspect ratio isn’t preserved.
Renderer Select the Renderer where the Video Player component renders its images. When set to None, the Renderer on the same GameObject as the Video Player component is used.
Auto-Select Property When you enable this option, the Video Player component selects the Renderer’s main texture automatically. When you disable this option, you can set the Material Property option manually.
Material Property Video Player 컴포넌트 이미지를 수신하는 머티리얼 텍스처 프로퍼티의 이름입니다.
Audio Output Mode 소스의 오디오 트랙을 출력하는 방법을 정의합니다.
없음 Audio isn’t played.
Audio Source Unity의 오디오 프로세싱을 적용할 수 있도록 오디오 샘플을 선택된 오디오 소스에 전송합니다.
Direct Unity 오디오 프로세싱을 건너뛰고 오디오 샘플을 오디오 출력 하드웨어로 직접 전송합니다.
API Only (Experimental) 오디오 샘플은 연결된 AudioSampleProvider에 전달됩니다.
Controlled Tracks The number of audio tracks in the video.

Only shown when Source is URL. When Source is Video Clip, the number of tracks is determined by examining the video file.
Track Number Enable the associated audio track to use for playback. This must be set prior to playback.

The text to the left of the checkbox provides information about the audio track, specifically the track number, language, and number of channels.

When the source is a URL, this information is only available during playback.

This property only appears if your source is a Video Clip that has an audio track (or tracks), or your source is a URL (allowing you to indicate how many tracks are expected from the URL during playback).
Audio Source The audio source through which the audio track is played. The targeted audio source can also play Audio Clips.

The audio source’s playback controls (Play On Awake and Play() in scripting API) don’t apply to the video source’s audio track.

This property only appears when the Audio Output Mode is set to Audio Source.
Mute Mute the associated audio track. In Audio Source mode, the audio source’s control is used.

This property only appears when the Audio Output Mode is set to Direct.
Volume Volume of the associated audio track. In Audio Source mode, the audio source’s volume is used.

This property only appears when the Audio Output Mode is set to Direct.

비디오 플레이어 스크립팅 예시

The following script demonstrates a few of the Video Player component’s features.

// 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

동영상 개요
MovieTexture에서 VideoPlayer로 마이그레이션