Добавить высоту 3D в изометрическую карту
Чтобы создать высоту 3D на изометрической карте, используйте один из следующих методов:
- Используйте изометрическую карту и создайте отдельную карту для каждого уровня высоты 3D.
- Используйте изометрическую карту плиток Z как Y, и установите 3D высоту плиток по мере рисования.
Примечание: Если вы установите Режим tilemap на Chunk, плитки из нескольких текстур могут быть неправильно отсортированы. Чтобы избежать этого, упаковывайте все ваши плиточные спрайты в один атлас спрайтов. Для более подробной информации, см. атласы спрайтов.
Использовать изометрическую карту
Чтобы добавить новое сопоставление плиток на более высоком уровне высоты 3D, выполните следующие действия:
- Выберите сетку GameObject в окне Hierarchy, затем в окне Inspector установите Расположение Ячеек на Изометрический.
- В окне Hierarchy щелкните правой кнопкой мыши сетку GameObject и выберите 2D Объект > Tilemap для создания нового tilemap в качестве дочернего объекта сетки.
- В течение Inspector окно новой карты плиток, установленное Порядок в слое к более высокому значению. Это гарантирует Unity отображает новое сопоставление плиток перед исходным сопоставлением плиток.
- Чтобы переместить карту плиток вверх по высоте 3D, увеличьте значения x и y свойства Tile Anchor. Например, добавьте 0.5 к значениям x и y.
- В окне Палитра плиток установите Активный объект () на новую карту плиток.
- Покрасить плитки в вид Scene.
Использовать изометрическую карту Z в качестве карты Y
В изометрическом Z-как-Y-карте каждая плитка имеет значение z, которое представляет ее 3D высоту. Unity добавляет значение z к 2D y-позиции спрайта, чтобы поместить его выше в сцене.
Выполните следующие действия:
Выберите сетку GameObject в окне Hierarchy, затем в окне Inspector установите Расположение ячеек до Изометрический Z как Y.
В активе рендерера 2Dустановите Режим сортировки прозрачности на Настраиваемая ось.
-
Установить z значение Ось сортировки прозрачности к значению сортировки по оси z.
Чтобы рассчитать значение сортировки по оси z, возьмите значения и из Cell Size сетки GameObject, умножьте их на отрицательное 0.5, а затем вычтите 0.01. Например, если значение и сетки равняется 0.5, значение сортировки по оси z будет 0.5 × –0.5 — 0.01 = –0.26.
Если вы не установите значение сортировки по оси z, плитки с более высокой высотой 3D могут отображаться перед плитками с более низкой высотой 3D.
Башня на изометрической сетке. Слева значение z оси сортировки прозрачности равняется 0, и плитки башни сортируются неправильно. Справа значение z равняется –0.26, и плитки сортируются правильно. В окне Палитра плиток отключите Блокировка положения Z.
-
Установите Scene View Z Position на высоту 3D, на которой вы хотите рисовать. Например, установите Scene View Z Position на 1, чтобы покрасить плитки на один единицу выше земли.
Вы также можете нажать - и +, чтобы увеличить или уменьшить 3D высоту плитки во время рисования.
Вид Scene отображает белый контур плитки на уровне земли и синий контур плитки на высоте 3D.
Чтобы изменить, выбирает ли указатель мыши плитку в синем или белом контуре, используйте Положение сетки мыши в Z свойства в Справка по вкладке Палитра плиток для окна Настройки.
Чтобы удалить плитку с помощью инструмента Erase, установите Scene View Z Position на то же значение высоты 3D, что и для удаляемой плитки.
Чтобы настроить разрыв между слоями высоты 3D, выберите сетку GameObject и настройте значение z свойства Cell Size.
Положение спрайтов между плитками
По умолчанию, плитки рендируются в режиме Chunk, что означает, что Unity рендирует несколько плиток вместе в одной батча. Этот подход повышает производительность и обеспечивает правильную сортировку плиток, но другие объекты в сценах не могут появляться между плитками на разных глубинах.
Чтобы избежать этого, выполните следующие действия, чтобы настроить отображение сопоставлений плиток в индивидуальном режиме:
- В окне Hierarchy выберите карту GameObject.
- В окне Inspector в компоненте Рендерер плиточных карт установите Режим на Individual.
Unity теперь сортирует плитки и спрайты вместе, так что символы и другие объекты могут появляться между плитками на разных глубинах. Индивидуальный режим может снизить производительность, потому что Unity отображает каждый спрайт индивидуально на карте плиток.