Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/55: Рейтинг темы: голосов - 55, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
1

Координаты тайла в Tilemap

08.02.2019, 16:51. Показов 10950. Ответов 7

Author24 — интернет-сервис помощи студентам
Имеется два тайлмапа, один для пола и второй для стен. Персонаж перемещается четко по тайлам при помощи transform.position. Пробовал это делать при помощи физики, коллайдеров и velocity, но там начинаются смещения и при движении в стену персонаж часто пролезает между двумя коллайдерами стен. В итоге сделал движение без физики и по тайлам персонаж ходит просто замечательно. Но возник вопрос - как понять когда персонаж хочет шагнуть в стену? Можно ли, зная в какие координаты собирается шагнуть персонаж, определить - какой тайл находится в тайлмапе по этим координатам? Есть какие-нибудь примеры работы с координатами тайлов в тайлмапе?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2019, 16:51
Ответы с готовыми решениями:

Как сделать так, чтобы кусок "карты" брался из файла? (SFML, tilemap)
Имеется "карта" в виде массива: const int H = 12; const int W = 40; String TileMap = { ...

Даны целочисленные координаты трех вершин прямоугольника, найти координаты четвертой
Даны целочисленные координаты трех вершин прямоугольника, стороны которого параллельны координатным...

Даны координаты вершин треугольника и координаты некоторой точки внутри него
Даны координаты вершин треугольника и координаты некоторой точки внутри него. Найти расстояние от...

Даны координаты вершин треугольника и координаты некоторой точки внутри него
Даны координаты вершин треугольника и координаты некоторой точки внутри него. Найти расстояние от...

7
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
08.02.2019, 22:42 2
https://docs.unity3d.com/Scrip... tTile.html
https://docs.unity3d.com/Scrip... lemap.html
1
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
09.02.2019, 00:08 3
https://docs.unity3d.com/ScriptReference/Grid.html
В самих тайлах нет координат, они в гриде считаются
1
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
09.02.2019, 13:33 4
Лучший ответ Сообщение было отмечено LamerOnLine как решение

Решение

В самих тайлах нет координат, они в гриде считаются
Public Tilemaps.TileBase GetTile(Vector3Int position);
1
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
09.02.2019, 15:23 5
Prog_maker, это не мировые координаты, вообще-то
1
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
11.02.2019, 13:36  [ТС] 6
Цитата Сообщение от Cr0c Посмотреть сообщение
это не мировые координаты, вообще-то
Как оказалось, вполне можно обойтись относительными координатами самого тайлмапа. При помощи WorldToCell(transform.position) я получаю текущий тайл на котором находится персонаж, а потом, перед перемещением, проверяю при помощи GetTile(Vector3Int position) - чем является тайл в который шагает персонаж, просто прибавив перемещение к координате текущего тайла. Для простого пошагового перемещения такое решение вполне подходит, а вот для каких-нибудь телепортаций, наверное надо будет пользоваться мировыми координатами.
0
0 / 0 / 0
Регистрация: 20.10.2019
Сообщений: 9
17.03.2022, 18:27 7
можете скинуть свою доработку? я уже неделю сижу и не втупляю, у меня похожая конфигурация игры, как сделать, чтобы на определенные клетки не кликалось?
0
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
17.03.2022, 23:45 8
LamerOnLine, вообще надо делать абстрактную систему, в которой и происходят все события (перемещение, взаимодействие, атака), а сам грид/тайлмап только для визуала использовать, либо через физику и коллайдеры без абстракции (но это хуже для ИИ и поиска пути, к примеру). Можно совместить абстракцию с физикой, но там могут быть подводные камни.
0
17.03.2022, 23:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2022, 23:45
Помогаю со студенческими работами здесь

Vb.net directx, slimdx преобразовать экранные координаты мыши в 3d координаты
vb.net directx, slimdx преобразовать экранные координаты мыши в 3d координаты необходимо...

Вычислить декартовы координаты точки, имеющую следующие полярные координаты
Помгите пожалуйста с этими вопросами!

Пусть даны координаты трех вершин прямоугольника. Определить координаты четвертой вершины
Доброго вечера. Написал программу для вычисления координаты 4 вершины треугольника через скалярное,...

Заданы координаты трех вершин прямоугольника. Необходимо определить координаты четвертой вершины
Здравствуйте, задача: Заданы координаты трех вершин прямоугольника. Необходимо определить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru