Цитата NightLord (
)
Юнити сортирует спрайты следующим образом:
- слой
- позиция в слое
- z координата
Очевидно, что толк от z координаты будет только в случае одинаковой позиции в слое.
Лечится довольно просто. Нужно привязать позицию в слое к высоте (Y координате). Скажем первый моб стоит в нуле, в торой ниже на 1 пункт (минимальная дистанция). Допустим мобы имеют 5 спрайтов. Значит у верхнего моба спрайты будут от 0 (0 * 5) до 5 (0 * 5 + 5), у нижнего от 5(1 * 5) до 10(1 * 5 + 5)
Разумеется дельта (в нашем случае 5) должна быть максимальная из возможных. Т.е. если будет бежать персонаж с 10 спрайтами раз в пять минут, значит дельта будет 10, даже если у моба всего 5 спрайтов
спасибо, думал есть более оптимальное решение данного вопроса,а минимальная дистанция у меня в игре предполагает хоть 0.01, то есть куча солдат таких бегут по дороге появляясь с рандомным Y. а если их положение по ходу бега будет меняться, это каждый кадр перерасчеты каждой части делать. а про z координату - конечно я пробовал ее менять когда у всех частей ордер 0 стоял - но все-равно не получалось.