Unity - недавно созданный слой для платформ, отсутствующий в поле «Что такое земля» для сценария «Контроллер персонажа 2D» - PullRequest
0 голосов
/ 04 января 2019

Я следую базовому руководству по созданию 2D-игры с использованием Unity.Я знаком с .Net / C #, но Unity и разработка игр для меня относительно новые.

Я создал платформы, на которых я хотел бы, чтобы персонаж (игрок) не провалился, а имел возможность ходить, прыгать и т. Д.

В инструкциях говорится о создании нового слоядля этих платформ убедитесь, что слой сортировки не тот, который использует объект игрока, а затем - в сценарии контроллера персонажа 2D - установите значение «What is Ground» для слоя сортировки для платформ.

Мне не удалось создать новый слой сортировки, никаких проблем, но вновь созданный слой сортировки не отображается как доступный слой в поле What Is Ground?

Мой новый слой называется foreground, однако в Unity видны только слои default?

См. Скриншот:

1 Ответ

0 голосов
/ 04 января 2019

Я почти уверен, что вы говорите о этом учебнике CharacterController2D .

Там они используют

public LayerMask whatIsGround;

Это LayerMask.Они предназначены для Layers, а не Sorting Layers


Из описания вашего вопроса кажется, что вы добавили SortingLayer

SortingLayer позволяет легко устанавливать порядок рендеринга нескольких спрайтов.Всегда есть SortingLayer по умолчанию с именем «Default», к которому изначально добавляются все спрайты.Добавлено больше SortingLayers для легкого управления порядком рендеринга групп спрайтов.Слои можно заказать до или после слоя по умолчанию.

вместо Layer

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


=> Обязательно добавьте Layer.

...