#c_sharp #unity3d
Необходимо вывести (по команде в скрипте) картинку на весь экран. Перекрывающую всё. Из задумок - только создать вторую камеру, поставить ей картинку как фон, в нужный момент - переключить на нее. Можно ли это сделать как нибудь проще?
Ответы
Ответ 1
Да проще варианта особо и нет. Куда может быть проще включить (SetActive(true)) или отключить (SetActive(false)) что-то в нужный момент? Одна команда на одно действие и одна команда - на другое. Единственное, чтоб не таскать лишнюю камеру и т.к. наверняка используете UI, то можно сразу этим самым UI и воспользоваться. Т.е. Добавляем к Canvas (т.е.к UI) пустой объект. Называем его Overlay и говорим его ширине и высоте занимать весь экран: У этого объекта добавляем потомка UI -> Image (Image принимает себе не простую картинку, а sprite. Это значит нужно картинку сделать типом спрайт. Если хотите чистую картинку, можете вместо Image выбрать RawImage). Обзываем потока например OverlayBackground. которому можно назначить картинку или просто в монотонный цвет закрасить или сделать прозрачность. И в итоге конкретно с этим Overlay делаем что хотим: скрываем, показываем, назначем бэкграунды для OverlayBackground, добавляем еще какие-нибудь объекты, например отображение результата игры или меню или кнопки выхода и прочее. Ну и конечно включаем или выключаем в нужный момент. Примерная иерархия:Ответ 2
Очень простое решение: используя Image (GUI) с Canvas'ом. Добаляем в иерархии сцены новый UI->Image Делаем его растягиваемым с помощью настроек привязок (делается в инспекторе объектов; нажимайте на квадратик сверху слева и выбирайте нужный вам вариант) Убедитесь, что изображение будет в самом низу списка элементов GUI в Canvas'е, иначе поверх изображения будут видны другие элементы GUI Подключайте как вам удобнее изображение к вашему скрипту
Комментариев нет:
Отправить комментарий