Unity 게임에서 화면 해상도를 변경하는 방법

Unity 게임을 빌드한 후 화면 해상도를 변경하는 것은 다양한 장치 간의 사용자 경험과 호환성을 향상시키는 데 유용한 기능입니다. Unity은 런타임 중에 화면 해상도를 동적으로 조정하는 방법을 제공합니다. 이 튜토리얼에서는 Unity 게임에서 화면 해상도를 변경하고 사용 가능한 화면 해상도를 얻는 과정을 안내합니다.

런타임 중 화면 해상도 변경

Unity 게임 플레이 중에 화면 해상도를 변경하기 위한 간단한 API를 제공합니다. 다음 코드 조각을 사용하여 화면 해상도를 변경할 수 있습니다.

using UnityEngine;

public class ResolutionManager : MonoBehaviour
{
    // Method to change screen resolution
    public void ChangeResolution(int width, int height, bool fullscreen)
    {
        Screen.SetResolution(width, height, fullscreen);
    }
}

이 메소드를 호출하고 해상도를 변경하려면 'ResolutionManager' 스크립트를 장면의 GameObject에 연결하고 원하는 너비, 높이 및 전체 화면 모드 매개변수를 사용하여 'ChangeResolution' 메소드를 호출할 수 있습니다.

사용 가능한 화면 해상도 얻기

플레이어가 화면 해상도를 변경하도록 허용하기 전에 사용 가능한 해상도 목록을 제공하는 것이 좋습니다. 다음 코드를 사용하여 사용 가능한 화면 해상도를 검색할 수 있습니다.

using UnityEngine;

public class ResolutionManager : MonoBehaviour
{
    // Method to get available screen resolutions
    public Resolution[] GetAvailableResolutions()
    {
        return Screen.resolutions;
    }
}

그런 다음 이 방법을 사용하여 게임 설정 메뉴의 드롭다운 메뉴 또는 목록 UI 요소를 채워 플레이어가 원하는 해상도를 선택할 수 있습니다.

'ResolutionUI.cs'

using UnityEngine;
using UnityEngine.UI;

public class ResolutionUI : MonoBehaviour
{
    public Dropdown resolutionDropdown;
    public ResolutionManager resolutionManager;

    void Start()
    {
        // Populate dropdown with available resolutions
        Resolution[] resolutions = resolutionManager.GetAvailableResolutions();
        resolutionDropdown.ClearOptions();
        
        List<string> options = new List<string>();
        foreach (Resolution res in resolutions)
        {
            options.Add(res.width + "x" + res.height);
        }
        resolutionDropdown.AddOptions(options);
    }

    // Method to handle resolution change from UI
    public void OnResolutionChanged(int index)
    {
        Resolution[] resolutions = resolutionManager.GetAvailableResolutions();
        Resolution selectedResolution = resolutions[index];
        resolutionManager.ChangeResolution(selectedResolution.width, selectedResolution.height, true);
    }
}
  • 'ResolutionUI' 스크립트를 UI 드롭다운 요소('드롭다운' 구성 요소)가 포함된 GameObject에 연결합니다. 그런 다음 Unity 편집기에서 드롭다운 및 'ResolutionManager' 스크립트 참조를 할당합니다.

결론

이러한 단계를 따르고 제공된 코드 예제를 통합하면 Unity 게임에서 동적 화면 해상도 변경을 원활하게 구현하여 플레이어에게 유연성을 제공하고 전반적인 게임 경험을 향상시킬 수 있습니다.

추천 기사
Unity에서 객체가 마우스 커서를 따르도록 만드는 방법
Unity에서 비디오 파일을 재생하는 방법
Unity 게임에서 목표 구현
Unity에서 스나이퍼 스코프 효과를 추가하는 방법
Unity에서 컷씬을 트리거하는 방법
Unity 난독화 방법 및 해킹 방지 보호
Poppy Playtime에서 영감을 받아 Unity에서 GrabPack 만들기