유니티 동영상 재생시켜보기

2020. 8. 18. 16:28유니티실습

반응형
728x170

 

안녕하세요 유니티 비기너입니다.

이번 시간에는 videoPlayer 컴포넌트를 활용하여

동영상을 재생하는 방법에 대해 알아보겠습니다.

 

결과 화면

 

한 번에 보기

1. 임의의 동영상 준비

2. RenderTexture 생성

3. Raw Image 생성 Texture 할당

4. 빈 오브젝트 생성 videoPlayer컴포넌트 추가, VideoClip, Texture할당

5. 빈 오브젝트 생성 스크립트 작성 및 할당

6. 버튼 생성 및 클릭이벤트 할당

 

 

1. 임의의 동영상 준비

임의의 동영상을 준비합니다.

 

2. RenderTexture 생성

프로젝트 창에서 우클릭 Create > Render Texture를 생성합니다.

크기는 생성한 Texture를 선택하고 인스펙터 창에서 SIze를 수정하여 제어합니다.

 

3. Raw Image 생성 Texture 할당 

하이어 라키 창에서 우클릭 UI < Raw Image

 

Raw Image 컴포넌트에 생성한 Render Texture를 할당합니다. 

(Raw image 영역에서 비디오를 재생하게 됩니다)

 

4. 빈 오브젝트 생성 VideoPlayer컴포넌트 추가, VideoClip, Texture할당

컴포넌트를 추가하고 Video Clip에 재생할 비디오를 할당하고 Target Texture에 생성한 Render Texture를 할당합니다.

 

 

5. 빈 오브젝트 생성 스크립트 작성 및 할당

public class VideoControllers : MonoBehaviour
{
    public GameObject myVideo;
    public VideoPlayer videoClip;

    public void OnPlayVideo() {
        myVideo.SetActive(true);
        videoClip.Play();
    }

    public void OnPauseVideo() {
        myVideo.SetActive(false);
        videoClip.Pause();
    }

    public void OnResetVideo() {        
        videoClip.time = 0f;
        videoClip.playbackSpeed = 1f;
    }

    public void OnFastVideo(float speed) {
        videoClip.playbackSpeed = speed;
    }
}

 

Play : 영상을 재생합니다.

Pause : 영상을 정지합니다.

time : 영상의 재생시점을 제어 가능합니다.

length : 영상의 길이를 가져옵니다.

playbackspeed : 영상의 재생 속도를 제어합니다.

 

Video는 RawImage 컴포넌트가 포함된 오브젝트

VideoClip는 VideoPlayer 컴포넌트가 포함된 오브젝트

 

 

6. 버튼 생성 및 클릭 이벤트 할당

하이어라키 창 UI < Button 

5개의 버튼을 생성하고 각각 함수를 지정합니다.

 

반응형
그리드형