Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неправильные тайлы и карта проходимости 
:(
    Опции темы
UniBomb
Дата 24.6.2010, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Добрый день. Как понятно из названия - карту строю из тайлов, для передвижения персонажа использую карту проходимости. Всё хорошо ровно до тех пор, пока все тайлы полностью закрашенные. Но в игре также присутствуют масса тайлов с уклонами, закруглениями и т.д.

user posted image

Как в таком случае указать персонажу, что эти тайлы хоть и проходные, но ходить по ним надо по-другому? 

Сначала я думал в таких случаях проверять попиксельно коллизии картинки персонажа и игрового окружения, но что-то мне кажется, что это ой как долго. Есть ли другие способы?


PM MAIL ICQ Skype   Вверх
Rpahut
Дата 24.6.2010, 13:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 5
Всего: 7



Есть довольно быстрые алгоритмы попиксельного сравнения. Например - сылку найти не могу, но смысл в сравнении бит-маски целыми даблвордами. Если обязательно требуется учитывать форму произвольного тайла, то другого выбора у вас в общем то и нет. Если совсем жаба душит, можно использовать маску проходимости с пониженным разрешением. Ну или очерчивать контур ландшафта линиями и считать столкновения через векторы.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
UniBomb
Дата 24.6.2010, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(Rpahut @  24.6.2010,  14:29 Найти цитируемый пост)
Есть довольно быстрые алгоритмы попиксельного сравнения.

Ох, как бы хотелось по-подробнее  smile  Я просто всегда думал, что рсчёт коллизий занимает достаточно много времени, т.к. в предыдущих наработках оперируя с отдельными пикселями получал низкую скорость обработки. Мне в принципе не обязательно пиксель-в-пиксель огибать такие ландшафты, можно и грубее (лишь бы не совсем бросалось в глаза, что ГГ левитирует над неровностями). 
PM MAIL ICQ Skype   Вверх
Bitter
Дата 24.6.2010, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 5
Всего: 27



UniBomb, можно заранее каждому тайлу создать матрицу и сравнивать уже не пиксели картинки, а элементы матрицы. Так будет скорость на много быстрее, чем обращение к пикселям битмапа
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.