본문 바로가기
학습

유니티 게임화면 스크린샷 기능구현 초간단

by 티오피스 2024. 10. 25.
반응형

유니티에서 게임을 개발하고 마켓에 등록하려면 게임소개등 여러가지 이미지들이 필요합니다. 이럴때 간편하게 유니티 게임 화면을 캡쳐하고 이미지파일로 저장하는 기능이 필요합니다.  'S' 키를 눌렀을 때 게임 화면의  스크린샷을 찍고 지정된 파일 경로에 저장하는 스크립트입니다. 저장 경로나 이름등은 자유롭게 변경해서 사용하면 됩니다.

 

유니티 게임화면 스크린샷

using UnityEngine;

public class ScreenshotTaker : MonoBehaviour
{
    public string screenshotDirectory = "Screenshots"; // 스크린샷이 저장될 폴더
    public string screenshotFileName = "screenshot"; // 스크린샷 파일 이름
    private int screenshotCount = 0; // 파일 이름에 추가될 번호

    void Update()
    {
        // 'S' 키를 눌렀을 때 스크린샷을 찍음
        if (Input.GetKeyDown(KeyCode.S))
        {
            TakeScreenshot();
        }
    }

    private void TakeScreenshot()
    {
        // 폴더가 없으면 생성
        if (!System.IO.Directory.Exists(screenshotDirectory))
        {
            System.IO.Directory.CreateDirectory(screenshotDirectory);
        }

        // 파일 경로 생성 (Screenshots 폴더 안에 저장)
        string filePath = System.IO.Path.Combine(screenshotDirectory, screenshotFileName + "_" + screenshotCount + ".png");

        // 스크린샷 저장
        ScreenCapture.CaptureScreenshot(filePath);
        screenshotCount++; // 파일 번호 증가

        Debug.Log("Screenshot saved: " + filePath);
    }
}

 

스크립트 설명

  • screenshotDirectory: 스크린샷이 저장될 폴더 경로입니다. 기본적으로 프로젝트의 Screenshots 폴더에 저장되도록 설정되어 있습니다.
  • screenshotFileName: 스크린샷 파일 이름의 기본값입니다. 각 스크린샷 파일은 이름 뒤에 숫자가 붙어서 저장됩니다.
  • screenshotCount: 스크린샷의 번호를 관리하는 변수로, 스크린샷 파일명이 겹치지 않도록 도와줍니다.
  • TakeScreenshot(): 'S' 키를 누르면 이 메서드가 호출되어 스크린샷을 찍고 파일로 저장합니다.

이 스크립트를 빈 GameObject에 추가하고 실행하면 'S' 키를 누를 때마다 스크린샷이 지정한 폴더에 저장됩니다.

유니티 게임화면 스크린샷 기능

반응형

'학습' 카테고리의 다른 글

유니티6 구글플레이,애드몹 빌드 조합  (0) 2024.10.25
유니티 Play Asset Delivery 이용하기  (1) 2024.10.25