Пятница, 15 Ноября 2024, 09:41

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Возможность прохода объектов через друг друга.
tanurДата: Четверг, 10 Октября 2019, 08:50 | Сообщение # 1
был не раз
Сейчас нет на сайте
Добрый день.
Используется Unity2d.
Работаю над реализацией следующего процесса.
Есть персонаж. Он ходит по карте (tilemap2d).
При перемещении его скорость может меняться в зависимости от типа тайла.

Пытался реализовать двумя путями:
1. Добавил box collider 2d, флаг is trigger НЕ ставил.
Поставил обработчик OnCollisionEnter2D
Он ловится когда персонаж касается тайла.
Но пройти по нему не может.

2. Добавил box collider 2d, проставил флаги is trigger.
Поставил обработчик OnTriggerEnter2D(Collider2D collider)
Персонаж проходит по тайлам, событие срабатывает. Но коллайдер - не конкретного тайла, а всего tilemap.
Нашел несколько описаний как найти конкретный тайл ( из коллайдера получить точки пересечения, дальше у tilemap запросить по координатам конкретный тайл)
Выглядит громоздко.

Возможно есть какое-то более аккуратное и красивое решение?
drcrackДата: Четверг, 10 Октября 2019, 09:03 | Сообщение # 2
старожил
Сейчас нет на сайте
https://docs.unity3d.com/ScriptReference/GridLayout.WorldToCell.html
https://docs.unity3d.com/ScriptReference/Tilemaps.Tilemap.GetTile.html


Сообщение отредактировал drcrack - Четверг, 10 Октября 2019, 09:03
tanurДата: Четверг, 10 Октября 2019, 12:29 | Сообщение # 3
был не раз
Сейчас нет на сайте
Спасибо за информацию, попробую.

Вдогонку - то есть если у тебя включена физика нельзя сделать объект проходимым?

Добавлено (21 Октября 2019, 10:09)
---------------------------------------------
Спасибо, все получилось.

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг