Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Перекрытие спрайтов по Z координате

Перекрытие спрайтов по Z координате

Поделиться
bretbasПостоялецwww9 авг. 20178:07#0
Доброго времени суток, Господа. Вот наконец впервые открыл unity3d. Хочу написать простенький 2d Undertale

Подскажите пожалуйста, есть ли в Unity3D что-то связанное с перекрытием спрайтов между собой? Или придется ручками писать скрипт и натягивать на каждый объект, который будет проверять Y координату, и от этого отталкиваться какое значение Z выставлять.

К примеру у меня есть много много ботов, которые ползают по сцене хаотичным образом. Как более лучше организовать систему перекрытия спрайтов?

AMM1AKПостоялецwww9 авг. 20178:42#1
Каким образом z от y вообще зависит?
Sbtrn. DevilПостоялецwww9 авг. 201711:55#2
Первая же ссылка из гугля:
Sprite Renderer

Sorting Layer  The layer used to define this sprite’s overlay priority during rendering.
Order In Layer  The overlay priority of this sprite within its layer. Lower numbers are rendered first and subsequent numbers overlay those below.

bretbasПостоялецwww9 авг. 201712:29#3
AMM1AK,
Каким образом z от y вообще зависит?

Чем больше Y, тем меньше Z, и наоборот. Это в 2d Undertale

Sbtrn. Devil, Я это видел, но мне придется все равно скриптами сравнивать положение спрайтов на сцене, и менять сортировку слоев в этих скриптах? Или можно как-нибудь на автомате это реализовать?

bretbasПостоялецwww9 авг. 201720:07#4
Сделал скрипт. В апдейте этого скрипта:
void Update ()
{
        spriteRenderer.sortingOrder = Mathf.RoundToInt(transform.position.y * 100f) * -1;
}
Натягиваю этот скрипт на каждый игровой объект, у которого есть SpriteRenderer.

Я видел где-то, что можно в скрипте написать атрибут, который будет автоматически добавлять компонент, нужный этому скрипту, если такого не имеется у игрового объекта. Подскажите пожалуйста?
И вообще, где вообще все атрибуты посмотреть?

/ Форум / Программирование игр / 2D графика и изометрия

2001—2017 © GameDev.ru — Разработка игр