Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Поиск пути в 3D | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 1
 
Поиск в этой теме:
Канал Игры Мечты: «Поиск пути в 3D»
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
Репутация: 188
Сообщения: 3252
Откуда: Vilnius/Minsk
Зарегистрирован: 06.08.2008
Есть идеи, как сделать красивый поиск пути, на подобие того как это работает в хоумворлд?

Пока использовал прокладку пути по принципу потенциальных полей (вроде так же работает в Х3), смотрится слегка топорно...
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Добавлено: 23:01 17-04-2011   
Варсик
 545 EGP


Рейтинг канала: 4(81)
Репутация: 117
Сообщения: 4041
Откуда: Москва
Зарегистрирован: 22.12.2002
А вариант A* для 3д почему не катит?
_________________
WARNING: By reading this post you accept that this post is genius.
    Добавлено: 01:46 18-04-2011   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
Репутация: 188
Сообщения: 3252
Откуда: Vilnius/Minsk
Зарегистрирован: 06.08.2008
Нужно разбивать пространство на не малое число кубиков. При чем чем меньше корабль, тем на большее число. Еще нужно переразбивать всякий раз, когда происходит перестановка объектов в мире, а учитывая динами, это значит почти постоянно. Еще путь, проложенный алгоритмами типа А* будет смотреться весьма дискретно.
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Добавлено: 06:39 18-04-2011   
Kann
 64 EGP


Рейтинг канала: 3(45)
Репутация: 7
Сообщения: 232
Откуда: Москва
Зарегистрирован: 11.04.2008
ммм.... вопрос такой, зачем это в космосе ? если конечно пространство не 2д...
    Добавлено: 09:06 18-04-2011   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
Репутация: 188
Сообщения: 3252
Откуда: Vilnius/Minsk
Зарегистрирован: 06.08.2008
Ну масшта бы весьма условны, так что препятствий для шипа будет предостаточно.

Вот задумался - я кривова-то реализовал этот метод потенциальных полей. Нужно будет попробовать плавно наращивать силу отталкивания, по мере сближения с объектом, начиная с некой, установленной для объекта дистанции.
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Добавлено: 09:42 18-04-2011   
Kann
 64 EGP


Рейтинг канала: 3(45)
Репутация: 7
Сообщения: 232
Откуда: Москва
Зарегистрирован: 11.04.2008
если просто препятствия, без лабиринтов то советую копать в сторону Steering behaviors, дает по моему отличные результаты для космоса, у меня ИИ мобов именно на нем построен

добавлено спустя 12 минут:
http://www.red3d.com/cwr/steer/Obstacle.html

Последний раз редактировалось: Kann (11:19 18-04-2011), всего редактировалось 1 раз
    Добавлено: 11:19 18-04-2011   
AlexYar
 1856 EGP


Рейтинг канала: 3(46)
Репутация: 324
Сообщения: 31707

Зарегистрирован: 26.10.2003
DIMOSUS.X :
на подобие того как это работает в хоумворлд?


А как работает в хоумворд? И поиск какого пути? Откуда и куда?

DIMOSUS.X :
Пока использовал прокладку пути по принципу потенциальных полей (вроде так же работает в Х3)


В х3 поисков пути в принципе не существует (в пределах одного сектора). Просто вычисляется вектор на цель, корабль разворачивается на неё и полетел. Вот и весь поиск Улыбка
    Добавлено: 21:46 19-04-2011   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
Репутация: 188
Сообщения: 3252
Откуда: Vilnius/Minsk
Зарегистрирован: 06.08.2008
Kann :
А как работает в хоумворд? И поиск какого пути? Откуда и куда?

Если кораблю (истребителю) попадается на пути астероид или другой корабль, то он обогнет его по плавной кривой.
AlexYar :
В х3 поисков пути в принципе не существует (в пределах одного сектора). Просто вычисляется вектор на цель, корабль разворачивается на неё и полетел. Вот и весь поиск Улыбка

Ну не так выразился — облет препятствий Улыбка
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Добавлено: 21:50 19-04-2011   
AlexYar
 1856 EGP


Рейтинг канала: 3(46)
Репутация: 324
Сообщения: 31707

Зарегистрирован: 26.10.2003
DIMOSUS.X :
облет препятствий


Ну это другое дело Улыбка В иксах время от времени проверяется "возможность столкновения", суть которой проста до безобразия (и тормознутости) - идёт перебор всех материальных объектов сектора с последующей проверкой дистанции до них. Если дистанция меньше или равна половины размера объекта плюс "запас" (некоторое расстояние, которое корабль может пролететь по инерции на текущей скорости), то команда на полёт у корабля будет прервана, и будет запущена процедура ухода от столкновения (она просто выводит корабль за пределы "сферы" объекта по ближайшему вектору от центра препятствия к краю его "сферы").
Если корабль не по касательной к объекту летит, а "в лоб", то лихорадить его в попытке ухода от столкновения может долго (так как после вылета за "пределы сферы" он опять ляжет на старый курс и снова влетит в "сферу" препятствия, потом опять будет уклоняться, и опять и снова и т.д. и т.п.).
Чем манёвреннее корабль - тем сильнее будет его лихорадить (острее зигзаги будет нарезать).

Вобщем, всё печально в иксах.. Рыдания.
    Добавлено: 21:58 19-04-2011   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
Репутация: 188
Сообщения: 3252
Откуда: Vilnius/Minsk
Зарегистрирован: 06.08.2008
AlexYar :
идёт перебор всех материальных объектов сектора

Что, даже нет оптимизации деревьями? О_о
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Добавлено: 22:02 19-04-2011   
AlexYar
 1856 EGP


Рейтинг канала: 3(46)
Репутация: 324
Сообщения: 31707

Зарегистрирован: 26.10.2003
DIMOSUS.X :
нет оптимизации деревьями?


Есть "оптимизация" сетой Хы... Чем быстрее сета - тем больше циклов проверок выбрасывается. Соот-но - больше шансов на то, что кораблик отвернуть не успеет.
    Добавлено: 22:10 19-04-2011   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
Репутация: 188
Сообщения: 3252
Откуда: Vilnius/Minsk
Зарегистрирован: 06.08.2008
Жесткие парни работают в егософте...
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Добавлено: 23:28 19-04-2011   
Kann
 64 EGP


Рейтинг канала: 3(45)
Репутация: 7
Сообщения: 232
Откуда: Москва
Зарегистрирован: 11.04.2008
да ладно, не чего такого страшного, если объекты все в массиве, и скорость измерения дистанции динамически меняется в зависимости от дальности до объекта, то не так уж это и затратно, у себя я так проверяю порядка тысячи объектов, и затраты очень незначительны, менее 1мс, хотя конечно лучше всего использовать физику и триггеры на коллизию, но это не всегда удобно.
    Добавлено: 23:56 19-04-2011   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
Репутация: 188
Сообщения: 3252
Откуда: Vilnius/Minsk
Зарегистрирован: 06.08.2008
Тысяча объектов, проверит тысячу объектов — сколько получится? Гы-гы

добавлено спустя 52 минуты:
Небольшой тест, 3000 объектов, мир — куб с ребром 2000, попадание объектов в сферу диаметром 10.
- поиска перебором — 0,2 мс
- поиск при помощи восьмеричных деревьев — 0,04 мс

Вот только построение дерева занимает 7 мс.
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.

Последний раз редактировалось: DIMOSUS.X (01:13 20-04-2011), всего редактировалось 1 раз
    Добавлено: 01:13 20-04-2011   
Kann
 64 EGP


Рейтинг канала: 3(45)
Репутация: 7
Сообщения: 232
Откуда: Москва
Зарегистрирован: 11.04.2008
DIMOSUS.X :
Тысяча объектов, проверит тысячу объектов — сколько получится? Гы-гы

ну так то да, но в Х3 нету такого количества объектов в секторе, а у меня проверка идет только на дальность до игрока с целью скалирования размеров, между собой объекты используют проверку на коллизию с невидимой геометрией (сферический триггер) отсюда затраты вообще минимальны, сервер без вопросов держит 1000 мобов
    Добавлено: 07:50 20-04-2011   
Снуч
 941 EGP


Киборг
Рейтинг канала: 1(9)
Репутация: 232
Сообщения: 2696
Откуда: Ракслатенон
Зарегистрирован: 09.08.2005
DIMOSUS.X :
метод потенциальных полей.
интересно: а в чём суть твоей реализации? Потенциал чего с чем сравнивается и в каком виде?
    Добавлено: 14:43 20-04-2011   
DIMOSUS.X
 997 EGP


Рейтинг канала: 4(67)
Репутация: 188
Сообщения: 3252
Откуда: Vilnius/Minsk
Зарегистрирован: 06.08.2008
Ни чего не сравнивается, просто от ветора на цель отнимается сумма векторов препядствий (последние всегда направлены от препчтствий к кораблю).
Нужно будет доработать, что бы вектор поля препятствия нарастал по мере прибближения к нему. Плюс добавить выход из локальных минимумов. Тогда может и начнет у меня облетать по красивой дуге Улыбка
_________________
Даже ежики ежиков могут с трудом,
Иначе бы ежики были кругом.
    Добавлено: 15:18 20-04-2011   
Снуч
 941 EGP


Киборг
Рейтинг канала: 1(9)
Репутация: 232
Сообщения: 2696
Откуда: Ракслатенон
Зарегистрирован: 09.08.2005
а, а я-то подумал, что рассчитывается локальное потенциальное поле, как на карте топологической, соответственно при возрастании локального градиента потенциального поля происходит огибание.
    Добавлено: 12:00 25-04-2011   
Канал Игры Мечты: «Поиск пути в 3D»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Придется опять ставить висту, что бы восстановить шаги по ее удалению... (вздыхает baburka)

  » Поиск пути в 3D | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18