UnityФорумОбщее

Вопрос по общей структуре проекта: как разделять сцены

#0
9:01, 4 июля 2025

Есть отдельные уровни которые состоят из тайлов, как лучше будет для оптимизации:

запихивать все уровни в одну сцену (и скрывать/показывать по необходимости) и в этой же сцене поверх всех уровней находится UI

или

каждый новый уровень это новая сцена, и как тогда сделать один UI на все сцены, чтоб при изменениях не пришлось потом править интерфейс в каждом уровне?

#1
9:59, 4 июля 2025

Ui префабом

#2
10:36, 4 июля 2025

Ну обычно совсем разное раскидывается по разным сценам. Например главное меню - там не нужно, чтобы были загружены текстуры тайлов скорее всего, и UI там свой особенный. А есть сцена уровней - там уже из тайлов строится уровень и UI общий обычно для всех уровней.

#3
11:19, 4 июля 2025

kkolyan
> Ui префабом
спасибо попобую.

MANAB
Да меню понял, в отдельную сцену - ок спасибо.


А по оптимизации правильно понимаю что если сцена имеет много картинок по типу hiden object игра то лучше разделять на разные сцены каждый уровень? А если платформер то проще делать скрывающимися слоями в пределах одной сцены?

#4
14:12, 4 июля 2025

Если можно разделить на сцены(не нужен бесшовный мир), то лучше контент раскидать по сценам. В платформере тоже могут быть уровни, разделяемые загрузкой.
Для оптимизации лучше делать атласы.

#5
14:40, 4 июля 2025

lol
я так понимаю атласы это паки текстур которые находятся в данный момент в памяти?

Например если UI есть на всех сценах то атлас с ним не выгружается из памяти.

А если у меня есть пара уровней с различной графикой то их лучше загружать и выгружать по мере необходимости при этом картинки надо раскидывать по атласам так чтобы они были именно с одного уровня и нежелательно использовать картинку с атласа другого уровня?

1. Какие аталасы загружать и для каких сцен, надо как то прописывать вручную? или юнити сам это определяет?
2. И как указать что новая добавленная картинка в проект относится к тому или иному аталасу?
3. Или в идеале самому надо укладывать на холсты 2048х2048 и уже с них срезать спрайты?

#6
14:59, 4 июля 2025

lol
> не нужен бесшовный мир
да и с бесшовным лучше раскидать же. юнити умеет в загрузку сразу нескольких сцен.

#7
17:00, 4 июля 2025

papean
В общем случае атлас по сути текстура, в которой несколько других текстур.

Вот для примера:
https://vk.com/@grigorich_indie_gamedev-documentation-sprite-atla… iow2k56677357

Создаешь ассет типа атлас и указываешь, какие спрайты туда входят.
Какие атласы, текстуры куда пойдут юнити сам посчитает на основе ссылок.

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

#8
17:30, 4 июля 2025

lol
Ок, спасибо большое за гайд, изучу

UnityФорумОбщее