Постройка зданий в RTS
|
|
sinoptis | Дата: Четверг, 05 Июля 2012, 10:24 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Здравствуйте, начал использовать в своем проекте A* Pathfinding и у меня возник вопрос как можно опредилить какие ноды находятся в определенном Bound'е и узнать проходимы они или нет? Заранее спасибо. Добавлено (05.07.2012, 10:24) --------------------------------------------- Что, неужели никто не использовал эту систему?
|
|
| |
MAKCim565 | Дата: Четверг, 05 Июля 2012, 14:51 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| Quote (sinoptis) неужели никто не использовал эту систему? долго пытался разобраться в A*, но ничего не понял В итоге использую свой способ нахождения пути
Сообщение отредактировал MAKCim565 - Четверг, 05 Июля 2012, 14:58 |
|
| |
SarCasm | Дата: Четверг, 05 Июля 2012, 14:56 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| A* pathfinding , тот что в ассет сторе?
Моя игра Gamiron#11 - Тема Скачать
|
|
| |
sinoptis | Дата: Четверг, 05 Июля 2012, 19:43 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| SarCasm, Да ,но у него есть еще и бесплатная версия на сайте разработчика.
|
|
| |
seaman | Дата: Четверг, 05 Июля 2012, 20:19 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Э.... Или я тупой или одно из двух. При чем тут Pathfinding и постройка зданий в RTS? Как одно связано с другим?
|
|
| |
sinoptis | Дата: Пятница, 06 Июля 2012, 10:24 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| seaman, При том что при помощи А* можно опредилить является ли эта область проходимой или нет, ну и соответственно можно строить или нет. В Ассет сторе видел еще Unity Steer и Path кто использовал для поиска пути, а то А* и в правду мудрёный слишком.
|
|
| |
seaman | Дата: Пятница, 06 Июля 2012, 20:48 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Quote при помощи А* можно опредилить является ли эта область проходимой или нет Чушь полная. Алгоритм A* требует данных о том - проходимая область или нет. И на основе этого строит путь движения.
|
|
| |
sinoptis | Дата: Воскресенье, 08 Июля 2012, 16:10 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| seaman, А графы не являются ли той самой картой проходимости, которая предоставляет алгоритму данные для поиска оптимального пути?
|
|
| |
anton-gar | Дата: Воскресенье, 08 Июля 2012, 16:18 | Сообщение # 9 |
WEBmaster
Сейчас нет на сайте
| Quote (sinoptis) Что, неужели никто не использовал эту систему?
Используют, я тоже пользуюсь ей, правда, только в as3.0.
|
|
| |
seaman | Дата: Воскресенье, 08 Июля 2012, 21:23 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| Quote А графы не являются ли той самой картой проходимости, которая предоставляет алгоритму данные для поиска оптимального пути? А я что писал! Для A* нужна карта проходимости! Как Вы ее зададите - Ваше дело. Для Того чтобы определить можно ли строить здание нужна тоже карта проходимости, в общем случае несколько другая. Т.е. оба алгоритма используют одну структуру данных. Однако из одного алгоритма не следует другой - они разные! Не получите Вы из A* можно ли в определенном месте построить здание. Разве только объедините два вышеописанных алгоритма. Отсюда вывод - название темы совершенно не стыкуется с вопросом. Аналогия для простоты. Назовите тему "Постройка автомобиля из металла". А в теме задайте вопрос "Кто нибудь строил корабли из металла?" Ну а по вопросу. Quote узнать проходимы они или нет Пустить SpereCast диаметром с персонажа - пройдет значит проходимы. Quote как можно опредилить какие ноды находятся в определенном Bound'е Создать Bounds заключающий в себя проверяемый объем и проверить для всех объектов пересекаются ли они с этим Bounds функцией Bounds.Intersects. Ну и где тут A*?
|
|
| |
sinoptis | Дата: Воскресенье, 08 Июля 2012, 23:53 | Сообщение # 11 |
почетный гость
Сейчас нет на сайте
| seaman, Спасибо за разьяснение.
|
|
| |
FORFUN | Дата: Понедельник, 09 Июля 2012, 12:13 | Сообщение # 12 |
почетный гость
Сейчас нет на сайте
| sinoptis, Можешь сделать так: Code var build1; var biuld2; var build3; // здания вынесешь в GUI табличку var:bild11:Transform; var bui;ld22:Transform; var build33:Transform; function Start () { var build1 = false; var build2 = false; var build3 = false; }
function OnMoueseDown () { if(build1==false){ buuil11.position = transform.position; } } Это создание дома в месте клика, которое должно иметь Box Colider.
- создавай то, что нравится тебе. [MIND++] - будь выше и умнее.
|
|
| |
SarCasm | Дата: Понедельник, 09 Июля 2012, 12:39 | Сообщение # 13 |
заслуженный участник
Сейчас нет на сайте
| Lalalame, ты возможно не заметил, но его интересует проверка доступности на постройку, используя графы A*. От себя скажу, что когда я делал RTS то я тупо на preview здании проверял столкновение с другими зданиями и юнитами(OnCollisionStay + layers)
Моя игра Gamiron#11 - Тема Скачать
|
|
| |
FORFUN | Дата: Понедельник, 09 Июля 2012, 13:59 | Сообщение # 14 |
почетный гость
Сейчас нет на сайте
| SarCasm, А ну да, точно, хотя по другому можно тоже сделать
- создавай то, что нравится тебе. [MIND++] - будь выше и умнее.
|
|
| |