В данной статье рассмотрим такую штуку как Viewport.
Вьюпорт используется для вывода изображения на экран. При создании проекта в remote видно что он является рутовой нодой. И собственно в нем весь и рисуется.
Обычно дополнительные вьюпорты используются для отрисовки новых окон , допустим миникарты, или разделенного экрана. Можно рисовать окно с 3Д графикой внутри 2Д окна к примеру.
Вьюпорт рисует только то, что находится ниже по иерархии.
В каждом вьюпорте может находится своя собственная камера.
Для того чтобы добавить новый вьюпорт, надо сначала подвесить ноду ViewportContainer и уже в неё заводить сам вьюпорт.
Проект с миникартой.
В качестве сцены у нас будет спрайт который ездит по кругу. Назовем её «mm»
Создадим другую сцену, в которую в качестве инстанса положим сцену «мм».И соберем иерархию для нового вьюпорта.
Выглядит это примерно вот так :
Контеинер сдвинем в правый нижний угол и изменим его размеры чтобы сделать вид миникарты.
Важно выставить одинаковые размеры контеинеру и вьюпорту, а так же указать размеры для инстанса сцены «мм»
Если кто не понял — инстанс тут только для того чтобы изменения в основной сцене обновлялись везде.
Запускаем :
И вуаля, наша миникарта показывает всё то, что происходит в основной сцене.
Проект на два вьюпорта.
Теперь чуть усложним задачу, и выведем на одном экране два вьюпорта с разными сценами в каждом.
Для начала создадим сцену «А» и сцену «Б». Это будут левая и правая сцена соответственно.
Я сделал тоже самое вращение, только с разными спрайтами и в разном направлении.
Структура проекта будет выглядеть примерно так:
Ну и результат :
Два вьюпорта с разными сценами проигрываются в одном общем вьюпорте.