Получить конкретную плитку при столкновении - Unity3D

avatar
Nophi
1 июля 2021 в 20:48
74
2
-2

Как я могу получить конкретную плитку, которая сталкивается с моим объектом.

У меня есть коллайдер, который проходит через тайловую карту, я хочу идентифицировать конкретный тайл, с которым происходит столкновение, а не всю тайловую карту.

Изображение Tilemap

Источник

Ответы (2)

avatar
DannyWebbie
2 июля 2021 в 06:56
0

Чтобы получить определенный тайл, вам нужно запросить Tilemap, используя систему координат Tilemap. Вы можете преобразовать обычные мировые координаты в координаты Tilemap с помощью tilemapReference.WorldToCell(position). Получив координаты тайловой карты, вы можете запросить тайл, используя tilemapReference.GetTile(tilemapPosition).

avatar
MrMoonMan
1 июля 2021 в 21:12
0

Вы можете использовать void OnCollisionEnter(Collision col){...}, чтобы проверить, не сталкиваетесь ли вы с другим объектом.

Nophi
1 июля 2021 в 21:42
0

Я хочу получить конкретный тайл, и оба коллайдера являются триггерами :/

MrMoonMan
1 июля 2021 в 22:01
0

void OnTriggerEnter(Collider col){...}