Страница 1 из 1

Изменение направление глобальной гравитации для проекта

СообщениеДобавлено: 09 мар 2019, 18:32
Fau_Ier
Здравствуйте, мастера Unity.
Решил освоить сий движок, дабы попробовать себя в игроконструировании и C#. Решил запилить TDS (top-down-shooter) простецкий, с применением физики.

И вот столкнулся с проблемой правильной настройки рабочего пространства проекта. Мне, собственно, нужно знать - можно ли настроить Uniti так, чтобы все объекты (спрайты, камеры и проч.) располагались по осям X-Z (что удобно изначально для TDS), а не по осям X-Y? Либо изменить направление глобальной гравитации в режиме 2D на ось Z

Почему спрашиваю: все из-за физики 2D и направления гравитации. По дефолту гравитация давит по оси Y (что удобно для платформеров) и, соответственно, если все элементы располагать по оси X-Y, то объекты тянет вниз (хотя по логике механики разрабатываемой тест-игры такого не должно быть, их должно давить на ось Z). Знаю, что можно пойти на ухищрения в настройках каждого объекта - но разве нельзя решить этот вопрос скорее в целом?

Заранее извиняюсь на глупый вопрос - пока только изучаю и пробую сие дело по урокам и вполне могу какую-ту настройку не заметить.

Re: Изменение направление глобальной гравитации для проекта

СообщениеДобавлено: 09 мар 2019, 18:44
1max1
Зачем вообще трогать ось Z в 2д игре? Те же яйца только в профиль?
Изменить гравити не трудно https://docs.unity3d.com/ScriptReferenc ... avity.html
Прыгать с одной оси на другую глупо, но если очень хочется, то можно повернуть камеру на 90 градусов по Y, но такие извращения не были предусмотрены юнити...

Re: Изменение направление глобальной гравитации для проекта

СообщениеДобавлено: 09 мар 2019, 19:23
Fau_Ier
1max1, нус, я уже смотрел на мысль поворота камеры на 90 градусов (но да, соглашусь, то еще извращение)

Давайте разовью мысль:

Теоретически мой виртуальный уровень - пол (этаж) - это квадрат, лежащий в плоскости X-Y. Соответственно, игрок в лице персонажа, носится по этой плоскости. Если врубить гравитацию, то его будет постоянно сносить по направлению оси Y. Логично, ведь направление гравитации идет по Y.
Далее:

Под квадратом, на котором находится персонаж, размещен еще один этаж - на него можно попасть через люк в первом квадрате (то-есть просто вырезанная дыра).
Ели бы гравитация была расположена на оси Z, то при перемещении в люк персонаж бы просто упал на этаж ниже. Все.

А так, по логике, получается, что надо идти на ухищрения в скриптах в настройках каждого обьекта-персонажа. Либо переходить в режим 3D.

Вот почему и задал, собственно, вопрос.

Re: Изменение направление глобальной гравитации для проекта

СообщениеДобавлено: 09 мар 2019, 20:35
1max1
2D физика так не работает))) Даже если координата Z персонажа будет 100, а твоего люка 20 (или наоборот), персонаж не провалиться, в этом фокус 2D коллайдера, такие дела...
п.с. Если нужно обеспечить проходимость сквозь коллайдер, то сделай его триггером (галочка Is Trigger).

Re: Изменение направление глобальной гравитации для проекта

СообщениеДобавлено: 09 мар 2019, 20:58
Fau_Ier
1max1, Ага, теперь понял. Как обычно, ответ есть в самой документации, но я его проглядел.
Значит, надо будет еще порыть на сию тему инфы. Но как, как понимаю, для перемещения между слоями локации придется активно тригерами пользоваться, чтобы имитировать движение по этажам и прочее...

Благодарю за терпение и наводку. \ пошел дальше мучить свою недо-игрушку-тест \

Re: Изменение направление глобальной гравитации для проекта

СообщениеДобавлено: 09 мар 2019, 22:47
1max1
Привыкай к тому что коллайдеры находятся на одном уровне по Z координате, единственное на что влияет изменение этой координаты это порядок отображение спрайтов (какой из них будет перекрывать другие), да и то, только в том случае если у них одинаковое значение order in layer. К UI это не относится, у них там сортировка по иерархии.