본문 바로가기
[Unity]

[Unity] 특정 Camera의 화면을 녹화 저장하기

by 김기승 2020. 1. 29.

프로젝트를 진행하면서 특정 Camera에서 촬영되는 화면을 파일로 저장할 필요가 있었다.

 

고맙게도 Asset Store에 Unity Recorder라는 에셋이 있어서 원하는 작업을 진행할 수 있었다.

 

현재는 Package Manager에서 Unity Recorder를 내려받을 수 있다.

 

일단, 실험을 위해 Cube와 두 개의 Capsule을 Plane위에 올려두었다. Cube는 스크립트를 적용하여, 상하좌우로 5초 간격으로 움직이므로 Capsule들이 움직이는 것처럼 보이게 된다.

 

더보기

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Cube : MonoBehaviour
{
    private Transform CubeTransform;
    private float Delay; //지연 시간

    private void Start()
    {
        CubeTransform = GetComponent();
        StartCoroutine(MoveSquare());
    }

    private IEnumerator MoveSquare()
    {
        while (true)
        {
            while (Delay < 5f)
            {
                CubeTransform.position += new Vector3(0f, 0f, 0.05f);
                yield return new WaitForFixedUpdate();
            }
            Delay = 0f;
            while (Delay < 5f)
            {
                CubeTransform.position += new Vector3(0.05f, 0f, 0f);
                yield return new WaitForFixedUpdate();
            }
            Delay = 0f;
            while (Delay < 5f)
            {
                CubeTransform.position += new Vector3(0f, 0f, -0.05f);
                yield return new WaitForFixedUpdate();
            }
            Delay = 0f;
            while (Delay < 5f)
            {
                CubeTransform.position += new Vector3(-0.05f, 0f, 0f);
                yield return new WaitForFixedUpdate();
            }
            Delay = 0f;
        }
    }

    private void Update()
    {
        Delay += Time.deltaTime; //지연 시간 계산
    }
}

크게 필요하지는 않겠지만 해당 스크립트를 추가해두었다.

 

Cube의 시점에서 촬영하기 위해 Camera를 생성하여 Cube의 자식으로 달아주었다.

 

Unity Recorder를 다운받고 나면 기존에는 보이지 않던 메뉴가 생기게 된다.

 

동영상을 촬영하기 위해 Movie를 선택해준다.

 

Format은 MP4로 선택하고, FileName은 <Take> 와일드카드를 추가하여 동적으로 이름이 생성되도록 해준다. Path(경로)는 바탕화면으로 설정하였다. Capture는 Targeted Camera로 하고 TaggedCamera를 선택하면 Tag를 입력하라는 칸이 뜬다. 이 때, 내가 찰영하고자 하는 카메라의 Tag 이름을 적어주면 된다.

 

Cube에 달아둔 카메라에 MP4Camera 태그를 생성 후, 추가한다.

 

Tag를 적어주고 START RECORDING 버튼을 클릭하면, 에디터가 재생이 되면서 녹화가 시작된다. 만약, 녹화를 종료하고 싶으면 에디터를 중지시키거나, STOP RECORDING 버튼을 클릭하면 된다.

 

최종 결과물이다. (재생되지 않으면 클릭할 것)

 

※ 추가

1. 카메라의 시점뿐만 아니라 Game View 촬영도 가능하고, Rendering Texture도 촬영 가능한 것으로 보인다.

2. Animation Clip 생성, GIF 파일 생성에도 사용할 수 있어, 매우 유용하다.

댓글