Как размещаются объекты на сцене в 2D игре?

Общие вопросы о Unity3D

Как размещаются объекты на сцене в 2D игре?

Сообщение EIvanov 22 апр 2023, 18:19

Вопрос банальный, простите, но наболело. Сегодня добавил на сцену кнопку и час никак не мог её нажать. Почти пустая сцена. Не реагирует ни на наведение, ни на что...(грусно и смешно)
В общем - имеется в виду, размещение объектов, как слоев, друг над другом, по оси z и т.д.

В фотошопе все элементарно - слой в иерархии выше, на холсте выше.
В юнити же мне непонятно, что и как работает.

Есть
1) ось Z.
2 иерархия объектов.
3) Order in Layer

Причем ось Z и иерархия объектов есть у любых объектов (что очевидно т.к. компонент трансформ и объект в иерархии). А Order in Layer есть только у спрайта (поправьте если не так).
Итого у спрайта есть все 3 вышеперечисленных свойства.

Как это всё работает? Как размещать объекты? Где преобладает иерархия, где ось Z?
По идее ось Z должна быть универсальным решением - объект "выше" и просто перекроет другой, но на практике так не работает.
EIvanov
UNIт
 
Сообщения: 103
Зарегистрирован: 05 июл 2021, 17:23

Re: Как размещаются объекты на сцене в 2D игре?

Сообщение 1max1 22 апр 2023, 18:54

Что касается канваса, то все ui элементы в нем (не самопальные из спрайтов, а именно из либы UnityEngine.UI) зависят только от иерархии. Объект, который ниже по иерархии будет перекрывать всех, кто выше.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как размещаются объекты на сцене в 2D игре?

Сообщение waruiyume 22 апр 2023, 19:08

зависят только от иерархии

У кавасов есть настройка ордер, которая затирает влияние иерархии. Канвас с более высоким ордером будет рисоваться сверху, даже если он ниже в иерархии.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как размещаются объекты на сцене в 2D игре?

Сообщение 1max1 22 апр 2023, 19:20

waruiyume писал(а):
зависят только от иерархии

У кавасов есть настройка ордер, которая затирает влияние иерархии. Канвас с более высоким ордером будет рисоваться сверху, даже если он ниже в иерархии.

Так это если канвасов несколько, я говорил про элементы внутри одного канваса. А так да, канвас с более высоким ордером, перекроет канвас с низким.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как размещаются объекты на сцене в 2D игре?

Сообщение EIvanov 23 апр 2023, 17:22

Вот пример
На пустой сцене сетка - грид с тайлами, канвас с черной панелью. Никакие настройки я не менял.
Итого z по нулям, у панели z 90 (?? пишет что установлено канвасом). Как не меняю z панель не выходит перед канвасом.
Переключаю на 3d камеру и..панель то на 10000 z дальше.

https://youtu.be/Q9SS752PS5k
[youtube]https://youtu.be/Q9SS752PS5k[/youtube]
EIvanov
UNIт
 
Сообщения: 103
Зарегистрирован: 05 июл 2021, 17:23

Re: Как размещаются объекты на сцене в 2D игре?

Сообщение 1max1 23 апр 2023, 17:54

Почитай доки по режимам, может яснее станет https://docs.unity3d.com/ru/2019.4/Manu ... anvas.html
Канвас обычно предполагает что ты будешь делать на нем ui интерфейс и всякие индикаторы (хп врагов, нанесенный урон и тд), а как известно интерфейс обычно идет верхним слоем, зачастую это делают в режиме overlay. Если ты пытаешь сунуть в канвас игровые объекты, по типу игрока, то будь готов обворачиваться костылями, тк не для того ягодку растили. Трогать координату z у объектов в канвасе ненужно, это ничего не дает, вообще забудь про ее существование :D
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11