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 게임에서 동적 화면 해상도 변경을 원활하게 구현하여 플레이어에게 유연성을 제공하고 전반적인 게임 경험을 향상시킬 수 있습니다.