Пятница, 22 Ноября 2024, 23:50

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Постройка зданий в RTS
sinoptisДата: Четверг, 05 Июля 2012, 10:24 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Здравствуйте, начал использовать в своем проекте A* Pathfinding и у меня возник вопрос как можно опредилить какие ноды находятся в определенном Bound'е и узнать проходимы они или нет? Заранее спасибо.

Добавлено (05.07.2012, 10:24)
---------------------------------------------
Что, неужели никто не использовал эту систему?

MAKCim565Дата: Четверг, 05 Июля 2012, 14:51 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Quote (sinoptis)
неужели никто не использовал эту систему?

долго пытался разобраться в A*, но ничего не понял sad
В итоге использую свой способ нахождения пути cool


Сообщение отредактировал 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
старожил
Сейчас нет на сайте
Э.... surprised
Или я тупой или одно из двух. wacko
При чем тут 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, А графы не являются ли той самой картой проходимости, которая предоставляет алгоритму данные для поиска оптимального пути? dry
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++] - будь выше и умнее.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг