| Постройка зданий в 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++] - будь выше и умнее.
 |  |  |  |  |