@wolkiom
Учусь делать игры в Unity

Unity. Почему дочерний объект стал отображаться за родительским (даже не за ним, а в нём)?

Здравствуйте! Учусь делать игры, ещё не опытен и многое не понимаю. Моя проблема: дочерний объект ружья начал и в игре, и в редакторе изображаться за родительским объектом, хотя раньше такого не было. Всё в 2D. И в Префабе тоже это видно:
5ed7cb3e4034f470414185.png

Если посмотреть в 3D то видно что он отображается как бы на ровне с родительским:
5ed7cc35f23ca257038088.png
Дочерний объект по оси Z не двигается совсем. Только если делать этот объект не дочерним, то его можно как-то нормально редактировать, но хотелось бы оставить это ружьё дочерним объектом.

Единственное, что если префаб открыть и изменить хоть что-то на дочернем объекте, то в префабе он станет отображаться нормально, даже если вернуть значения которые были, но это ни что в игре и в редакторе не меняет.
5ed7cd0ca81a8078412293.png
5ed7cd14244fb891800142.png

Это произошло, когда я загрузил другую сцену, подредактировал её как мне надо, и после загрузки этой сцены, с персонажем и ружьём, появился такой дефект.

Я не нашёл в интернете ни столкновение с этой проблемой, ни её решения, поэтому отчаялся и решил спросить сам.
  • Вопрос задан
  • 38 просмотров
Решения вопроса 1
DanceM
@DanceM Куратор тега Unity Game Engine
Кто хочет -ищет способ, кто не хочет -ищет причину
Я со спрайтами не работал, но думаю причина в том, что спрайты это по сути 3д плоскости, и порядок отрисовки зависит от расстояния плоскости до камеры и угла. Вот только на малых расстояниях это работает непредсказуемо, если Z у спрайтов одинаковый, будут менятся местами.

Чтобы избежать этого (и иных подобных проблем), используйте ручную сортировку, Sorting Layers и Order in Layer:
YouTube: Sorting Layers - Official Unity Tutorial
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы