Изменение разрешения игры

Страница обновлена :
Дата создания страницы :

Проверочная среда

Виндоус
  • Windows 11
Редактор Unity
  • 2021.3.1f1
Системные пакеты ввода
  • 1.3.0

Необходимые условия для получения этого совета

Следующие параметры предварительно настроены в качестве предварительного условия для объяснения этих советов.

Указание разрешения при старте игры

Вы можете установить разрешение на старте игры в настройках проекта. Тем не менее, есть ограничения, такие как предположения об оконном режиме, поэтому, если вы хотите установить его надежно, я думаю, что настройка программой, описанной ниже, более надежна.

Для этого выберите в меню пункт Edit -> Project Settings.

Выберите «Проигрыватель» в меню слева.

В нижней части вы можете найти настройки для каждой среды. Например, если значок дисплея в крайнем левом углу является параметром среды ПК, такой как Windows.

«Разрешение и отображение» свернуто внутри, поэтому нажмите, чтобы развернуть его, и выберите «Оконный» из «Полноэкранного режима» в группе разрешения.

Затем отобразятся «Ширина экрана по умолчанию» и «Высота экрана по умолчанию», поэтому вы можете установить здесь разрешение (= размер экрана). Этот параметр можно установить только в оконном режиме.

Есть настройки в других средах, поэтому, пожалуйста, проверьте их. На следующей схеме показана конфигурация в WebGL. Разрешение = размер холста.

Запуск и проверка

Я не могу проверить, правильно ли он работает, даже если запускаю его в редакторе Unity, поэтому я выведу игру и проверю ее. Подробные инструкции см. в разделе Советы по выводу игры .

Убедитесь, что он отображается на экране указанного размера.

Однако даже если вы измените значение размера, оно может не измениться. Это связано с тем, что игра сама запоминает предыдущее разрешение. Если вы хотите убедиться в том, что дисплей находится в указанном разрешении, надежнее поменять его с помощью программы, описанной ниже.

Изменение разрешения из программы

Здесь я хотел бы подготовить следующий экран и управлять им программно, чтобы разрешение менялось при нажатии каждой кнопки. Дополнительные сведения о том, как работать с пользовательским интерфейсом и кнопками, см. в разделе Советы по пользовательскому интерфейсу .

Вот что происходит, когда вы нажимаете каждую кнопку:

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  public void OnClick_960x540()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(960, 540, FullScreenMode.Windowed, 60);
  }
  public void OnClick_1280x720()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(1280, 720, FullScreenMode.Windowed, 60);
  }
  public void OnClick_1600x900()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(1600, 900, FullScreenMode.Windowed, 60);
  }
}

Для двух нижних методов единственное различие заключается в номере разрешения.

Screen.SetResolution Вы можете изменить разрешение, указав в аргументах метода "ширина разрешения (px)", "высота разрешения (px)", "полноэкранный режим" и "частота обновления (Гц)" соответственно.

На этот раз он будет установлен в оконном режиме, но таким же образом его можно установить и в полноэкранном режиме.

Если вы хотите принудительно установить его при запуске игры, я думаю, вы можете справиться с этим с помощью метода скрипта, прикрепленного к какому-либо объекту в awake первой сцене.

Запуск и проверка

Я думаю, вы можете видеть, что нажатие каждой кнопки изменяет разрешение (+ размер окна).