ScorpioT1000
Работаем
online
Опыт: отключен
|
можно, но на юнитах это всё затратно
какой гуи, какой варкрафт в 2014) |
24.04.2014, 17:42 | #21
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nemezid
offline
Опыт:
8,077Активность: |
ScorpioT1000, уловил суть. Вот только, как я понял, придется делать проверку для каждого из юнитов (в моем случае для 10ти). Опять же будет неизбежное торможение. Словом лучше ограничить кол-во возможных "растяжек" до 3-х например и сделать для каждой пары отдельный триггер)
Nemezid26rus добавил: ScorpioT1000: ахах) жаль, что варкрафт умирает |
24.04.2014, 17:45 | #22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
God_of_light
http://xgm.ru/p/ps
offline
Опыт:
7,949Активность: |
ScorpioT1000, я по детски влюблен в вк3) |
25.04.2014, 08:25 | #23
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
God_of_light
http://xgm.ru/p/ps
offline
Опыт:
7,949Активность: |
ScorpioT1000, я по детски влюблен в вк3)
God_of_light добавил: Nemezid26rus, попробую на гуях изобразить это на выходных, потом напишу тебе |
25.04.2014, 08:26 | #24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nvc123
new status
offline
Опыт:
59,284Активность: |
Nemezid26rus, можно до 50 растяжек
и даже калькулятор не будет сильно лагать nvc123 добавил: если делать отдельные триггеры для каждой растяжки то лаги будут ужасные |
25.04.2014, 09:40 | #25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
вы неправильно подходите к решению задачи, это источник лагов, а не отдельные триггеры.
протип никто не запрещает округлять, изменять точность или применять иные методики расчёта или сортированные списки, ровно как никто не запрещает сделать растяжки только для героев и проверять героев а не растяжки, так как растяжек может быть 100500 штук, а вот героев как правило 10. |
25.04.2014, 10:05 | #26
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nvc123
new status
offline
Опыт:
59,284Активность: |
DioD, если они должны действовать не только на героев но и на обычных юнитов то твой вариант не подходит
я бы сверял координаты юнитов с координатами растяжек а потом сверял углы у совпавших так же если карта большая и растяжек довольно много то можно делить карту на области и сделать стек областей в которых есть растяжки nvc123 добавил: короче надо сокращать список юнитов начиная с менее ресурсозатратных проверок и заканчивая проверкой по углам |
25.04.2014, 10:25 | #27
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Берги
Нет, ты!
offline
Опыт:
118,122Активность: |
А я бы вот как сделал:
На 1 единственном периоде скажем 0.04 чекал бы области (чёрные) между двумя юнитами, количество областей увеличивается с расстоянием, области не накладываются друг на друга и проверка привязана к двум юнитам между которыми связь. Как только кто-то появился в этих областях то делаем наши действия действия |
27.04.2014, 00:07 | #28
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
20,171Активность: |
Про мою карту все забыли? Код индусский офк, я ипользовал уравнение прямой для получения Y координаты на линии заданной двумя точками и сравнивал - више\ниже она чем Y нашего юнита...
Buulichkaa добавил:
Кстати, там баг, который я нашел через день после отправления карты :D скорость затягиваемых в дыру юнитов не обнуляется, но суть реализации ясна. Buulichkaa добавил: Я думаю... |
27.04.2014, 00:24 | #29
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
HolyMoon
Hly shit!
offline
Опыт:
6,986Активность: |
Buulichkaa:
хоть один адекват :D |
27.04.2014, 04:13 | #30
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
для тех кто в танке - нет смысла брать 100500 выборов на линии между растяжками, мы берём выборку вокруг одной из точек ратяжки (изначально растяжка будет иметь master & slave точки), размером на 10% выше предельной длины растяжки.
Чтобы не проверять растяжки рядом с которыми гарантированно нет юнитов в принципе, можно как справедливо указано выше делить карту на чанки и активировать\деактивировать их при необходимости. Так кстати все крупные игры делают. растяжки никуда не бегают, мы можем заранее расчитать границы координат которые будут проходить по условию (снапшоты) и хранить их в памяти чтобы не считать каждый раз Если скрестить чанки и снапшоты, то мы можем проверять ловушки не индивидуально, а все сразу в некотором чанке, что даст очень существенный выигрыш в производительности, особенно если мы сортируем координаты юнитов и ведём список. |
27.04.2014, 05:23 | #31
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
20,171Активность: |
DioD, ну так нам пик вообще не нужен, растяжка как вы её называете, прикреплена к двум точкам, эти точки являются крайними точками ректа. Как только нужный юнит(ы) заходит в рект - заносим его в группу и проверяем юнитов этой группы в периодике, пересекли они линию или нет... Но тут же появляются некоторые траблы, это крайне не производительно если растяжки будут очень длинными, если скорость входящего юнита будет больше чем расстояние между границами ректа, то в некоторых случаях мы не сможем засечь что юнит вошел, т. е. придется расширить рект на нужное количество едениц... и т. д. |
27.04.2014, 13:49 | #32
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nvc123
new status
offline
Опыт:
59,284Активность: |
Buulichkaa, по триггеру и группе к каждой растяжке не кул лучше проводить сортировку поэтапно как делают во всех норм играх |
27.04.2014, 19:13 | #33
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
надеюсь, никто не воспримет слова Buulichkaa всерьёз =) |
28.04.2014, 14:51 | #34
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Msey
????
offline
Опыт:
67,346Активность: |
лол. раздули из банальной темы такой холивар.... это вроде через проверку углов между юнитами в нном радиусе делается. срать на ресурсозатратность при таком убер движке Отредактировано Msey, 28.04.2014 в 20:49. |
28.04.2014, 20:50 | #35
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Violencegame
offline
Опыт:
52Активность: |
На гуи: юнит входит в регион регионом выставляем прямоугольник с координатами юнитов между которыми пролетает. Но это крайний вариант. |
10.05.2014, 11:14 | #36
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|