IPB
ЛогинПароль:

> Плавный обход преград
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Такая проблема: есть игра в разработке, похожая по движку на NOX.
В NOX'e объекты представляются в виде цилиндров с основнием в виде
окружности.
Как сделать чтобы герой, подойдя к преграждающему путь объекту,
не стоял как вкопанный(возвращение старых координат),а плавно
обходил его(окружность) в оптимальном направлении, как в Ноксе.
Известны координаты центра героя(точка), центра окружности,
ее радиус, а направление движения(или шаги смещения по X и Y) определяется
так же как в Ноксе - положение мышки относительно героя(Эти
координаты тоже известны).
Должен быть какой-нибудь алгоритм или формула для осуществления
плавного обхода преград.
Еще желательно решить ту же проблему для столкновения со стенами,
которые занимают 2мерный массив.


Сообщение отредактировано: 32167 -


Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Я вот что не понял.. Из твоего текста следует, что пересечения окружностей не должно быть, а должно быть только их касание. А на рисунке явное пересечение изображено.. Почему?

Что касается алгоритма, то не понимаю, какие сложности. Просто ведешь его по окружности радиусом R+r (R и r - радиусы препятствия и героя) с центром в центре окружности препятствия - и все. Я что-то недопонял?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 9:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name