Проблема с разрешением в игре
Есть код, который меняет разрешение экрана. Всегда полноэкранный режим. Проблема в том, что когда разрешение ниже 1920 * 1080 появляются чёрные рамки. Я хочу, чтобы экран растягивался в зависимости от разрешения. Вот код:
if (DropDownResolution.value == 0)
{
Screen.SetResolution(1920, 1080, true);
}
else if (DropDownResolution.value == 1)
{
Screen.SetResolution(1620, 1200, true);
}
Ответы (1 шт):
Автор решения: Psyxoz0x13
→ Ссылка
Большая вероятность того, что это сделать невозможно. Я такое встречал только в играх 2000-х. Да и не могу представить зачем это нужно будет. Есть вариант скейлинга до нужного соотношения сторон:
private float _scaleFactor => Screen.currentResolution.width / (float)Screen.currentResolution.height;
public void SetResolution()
{
Screen.SetResolution((int)(1620f * _scaleFactor), 1200, FullScreenMode.ExclusiveFullScreen);
Debug.Log(Screen.currentResolution.width);
Debug.Log(Screen.currentResolution.height);
Debug.Log(_scaleFactor);
Debug.Log((int)(1620 * _scaleFactor));
}
Ну а вообще, все уже давно используют список поддерживаемых разрешений монитора Screen.resolutions. Используйте его для выбора разрешения в DropDownList.
Приятного дня и удачи!