XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Nemezid

offline
Опыт: 8,077
Активность:
Как уловить, что юнит прошел между двумя другими юнитами?
Доброго времени суток. Не придумал, как еще задать вопроса, поэтому поясню - нужно как-то триггерно уловить тот момент, когда один юнит проходит между двумя другими. Как это сделать? Это подобно способности Виспа из Dota, где при проходе между Виспом и другим связанным с ним героем - проходящий станится.
Старый 20.04.2014, 16:58
16GB
GhostOne User
offline
Опыт: 59,317
Активность:
почему раки не юзают поиск ?
[+] 1 пункт от Кет: 2.1 (оскорбление)
Старый 20.04.2014, 17:09
Nemezid

offline
Опыт: 8,077
Активность:
Потому же, почему ты создавал подобную тему, хоть несколько раз уже выкладывали карту)
Старый 20.04.2014, 17:19
[B]elFUnGan
Kicked by ZlaYa1000
offline
Опыт: 426
Активность:
16GB, Старый-добрый капитан роты "Сидим-на-форуме-и-ждем-пока-кто-нибудь-задаст-вопрос-чтобы-его-обосрать"
Старый 20.04.2014, 17:51
Nemezid

offline
Опыт: 8,077
Активность:
Возник еще вопрос - как сделать, чтобы это действовало на несколько объектов, т.е. несколько растяжек, а не как в данной карте (лишь 2 предмета между которыми нельзя ходить). Думал, думал, не придумал.
Старый 22.04.2014, 22:10
nvc123
new status
offline
Опыт: 59,284
Активность:
Nemezid26rus, читать статьи
желательно про структуры
Старый 22.04.2014, 23:04
Nemezid

offline
Опыт: 8,077
Активность:
nvc123, для данного случая я не вижу выхода, кроме как создать отдельные триггеры для каждых 2х юнитов-переменных. Ибо назначать на них какой-то номер, а потом выделять целую А или целую Б не выходит
Старый 22.04.2014, 23:11
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,171
Активность:
Nemezid26rus, выход в выходе с гуи
Старый 23.04.2014, 08:39
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
Как то давно делал такое на гуи, костыль еще тот получился, но он работал. Суть в чем. Имеетя два юнита - они являются углами воображаемого прямоугольника, в котором можно отслеживать перемещение другого юнита. Каждый период времени берем координаты положения углов, имеем по два значения Х и У, сравниваем с координатами положения третьего юнита, если его х и у находятся в пределах между значениями координат углов, то юнит находится в нужном нам прямоугольнике. Остается сравнить angle между обоими углами и этим юнитом. С погрешностью в 1-2 градуса
Старый 23.04.2014, 09:24
Nemezid

offline
Опыт: 8,077
Активность:
God_of_light, именно так и было в карте, которую мне подкинули. Проблема лишь в том, что, видимо, нельзя охватывать сразу несколько разных юнитов парами и проверять все условия. Лишь создавать второй так же триггер с другими переменными. А если будет слишком много таких "растяжек", то и триггеров много. А триггеры, действующие каждые несколько миллисекунд обычно вызывают торможение игры. Решения видимо нет.
Старый 23.04.2014, 21:09
16GB
GhostOne User
offline
Опыт: 59,317
Активность:
Nemezid26rus:
Решения видимо нет.
Есть
Могу написать за рубли на jass
Старый 23.04.2014, 21:16
nvc123
new status
offline
Опыт: 59,284
Активность:
Nemezid26rus, могу написать на си/в джасс за доллары или евро
nvc123 добавил:
1 триггер и всё будет нормально работать
Старый 23.04.2014, 22:04
ScorpioT1000
Работаем
offline
Опыт: отключен
ну там надо ray tracing писать - на высоких скоростях единица может "пролететь" между кадрами (итерациями) так, что в первый кадр единица будет до линии, а второй после, вследствие чего событие никогда не сработает)
и тут солюшены обычно склоняются к гпу хардвейр решениям (обычно CUDA, в дорогом мультиплеере особенно), но если нет возможности - пишут доп. вычисления, которые "предсказывают", где единица будет в след. итерации и если есть шанс, что будет колижн, то она заранее пускает евент
в вц3 можно посмотреть пример на xdestr / xcoll
Старый 24.04.2014, 02:46
Nemezid

offline
Опыт: 8,077
Активность:
Вы что, серьезно за рубли всё пишите? То ли с моего последнего прихода на форуме всё изменилось, то ли код очень сложный.
Nemezid26rus добавил:
ScorpioT1000, да, я заметил, что оно моментами не улавливает пробежавшего юнита. Еще это как-то связанно с расстоянием между точками
Старый 24.04.2014, 16:05
ScorpioT1000
Работаем
offline
Опыт: отключен
связано это с тем, что процессор считает (двигает) дискретно (итерациями), а не непрерывно и если большое расстояние поделить на время итерации, получим скорость, при которой единица эту итерацию пролетит
Старый 24.04.2014, 16:13
DioD

offline
Опыт: 45,184
Активность:
зачем объяснять про рейтрейс и то как работают обычные движки тем кто не умеет пользоваться элементарным поиском?
Старый 24.04.2014, 16:40
ScorpioT1000
Работаем
offline
Опыт: отключен
всё равно эта задача особо не решаема в этой игре) потому что там единицы - не точки, а здоровые юниты с овердохрена параметров
была помню идея гонять точки и просчеты делать с точками, а юнитов двигать реже, допустим просчеты с векторами идут с периодом 0.01, а юниты синхронизируются с ними с периодом 0.04 (тока там полностью свой поиск пути будет и юнит по сути как модель работает)
да в принципе насрать ...
Старый 24.04.2014, 16:43
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
ScorpioT1000, как тебя попросить чтобы услышать подробности?
God_of_light добавил:
интересно
God_of_light добавил:
Nemezid26rus, да минусы очевидны. Я думаю можно запилить еще больший костыль на гуи, но думаю ни к чему
Старый 24.04.2014, 16:58
ScorpioT1000
Работаем
offline
Опыт: отключен
про коллизии? просто экстраполируется точка от двух и более координат в итерациях ..., t(-2), t(-1) и до t(0) и узнается, где приблизительно будет в t(1), t(2), ...
это от линейной экстраполяции и вплоть до искусственного интеллекта можно реализовывать
ScorpioT1000 добавил:
вот пример, фиолетовая кривая - движение, зеленая кривая - предсказание движения
Старый 24.04.2014, 17:05
God_of_light
http://xgm.ru/p/ps
offline
Опыт: 7,949
Активность:
ScorpioT1000, то есть в принципе на гуи (я из х ребят что в нем застряли) сделать можно
Старый 24.04.2014, 17:18
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:59.