Я делаю игру в Unity и не могу получить ожидаемые результаты при изменении разрешения в игре. Мне нужна функция изменения разрешения через игровое меню, а не встроенная функция Unity.
Само изменение разрешения было простым:
Screen.SetResolution(1024, 768, FullScreenVar);
FullScreenVar может быть истинным или ложным в зависимости от того, если яхочу полноэкранный режим.
Однако, какие бы варианты я ни пробовал, точного результата у меня все равно нет. То, что я хочу сделать, похоже на то, что делается в других играх.
Вариант 1: игра оконная.
В этом случае я хочу игруокно должно быть точного размера, что мне нужно. Мол, если я хочу 1024x768, то окно будет такого размера. Тем не менее, окно обычно больше, и есть фактический контент, окруженный синей рамкой.
После некоторого поиска в Google, я также попытался изменитьсоотношение сторон, но оно не вносило особых изменений. Я также попытался поиграть с настройками в самом Unity, но получил еще более странные результаты: как на игровом экране была только часть контента, как будто все было перемещено вниз, вправо или что-то в этом роде.
Итак,вопрос 1: что я должен сделать, чтобы окно игры было «чистым» без каких-либо границ вокруг контента?
Вариант 2: игра в полноэкранном режиме.
В этом случае желаемый вывод - это полноэкранный режим со всем измененным размером содержимого. Таким образом, если игрок выбирает упомянутые 1024x768, а его разрешение на рабочем столе составляет 1600x900, игровой контент должен быть растянут до нового размера.
Вместо этого я получаю тот же результат контента в середине, с пустым окружением.
Вопрос 2: как в полноэкранном режиме как растянуть все изображения на весь экран, если выбранное разрешение меньше?
Третий вопрос также касается разрешений,но немного отличается. В самом Unity я работаю с размером экрана по умолчанию 1600x900. Однако один игрок пожаловался, что он установил 1920x1080 (выше), и это привело к тому, что игровые кнопки были неуместны \ изменены. Я не видел этого, поэтому не могу сказать ничего конкретного, но он сказал, что для того, чтобы что-то изменить на экране настроек, он должен нажимать не на сами кнопки, а где-то поблизости.
Вопрос 3: Правильно ли я понял, что это произошло потому, что фактическое разрешение выше, чем размер экрана по умолчанию в самом Unity? И если да, то как это можно исправить?
Как организована моя игра.
В ней используется только одна основная сцена. Сцена имеет камеру и основной игровой объект с именем «areaContainer», который включает в себя вспомогательные игровые объекты, которые служат игровыми областями. Некоторые из них имеют размер 1600x900, а некоторые - 1508x700, поскольку они также имеют пользовательский интерфейс.
Как я понимаю, камера показывает areaContainer. Вот их свойства.
Что я пробовал:
1) Игра сСвойства areaContainer, в частности с Canvas Scaler и режимом рендеринга, но ничего из того, что я пытался установить, не дало желаемого результата. 2) Изменение соотношения сторон в самом коде.
Все, что я пробовал, дало только более странные результаты: например, изображения были неуместны, как перемещение в сторону и вверх \ вниз.
Пожалуйста, помогите мне с этимивыпуски.
Спасибо всем заранее, Евгений