![]() |
Re: Проверка попадания в бота.
А смысл писать в глобале Global MHIT2=MouseHit(2)? проверка же должна идти в цикле, так у тебя сначало присвоилось переменной значение MouseHit(2), а когда ты уже в цикле прогоняешь ситуацию с нажатием клавиши и он у тебя все время выдает 0, то есть то значение что было присвоено при инициализации графики.
А твой вариант не работал потому что ты часто проверял нажатие мыши( ты сам посмотри сколько у тебя там ботов, вот столько раз ты и проверял, да-да, да еще за один проход главного цикла, а нужно всего проверять один раз на каждой итерации ). |
Re: Проверка попадания в бота.
У меня тоже проблема с сабжем, только другого плана: использование CameraPick дает точную точку попадания в бота, однако при тех же условиях LinePick не возвращает ничего, отобразил на экране линию, чтобы проверить что она на месте, все равно при попадании на линию бот не пикается. Тут неоднократно говорилось, что LinePick глючит, не могли бы вы поделиться при каких условиях это происходит, и как с этим бороться?
|
Re: Проверка попадания в бота.
Цитата:
Просто используй EntityPick(). |
Re: Проверка попадания в бота.
При любых. Никак.
Или математику можешь использовать. (если определить пересечение отрезка со сферой - проблема, то тогда юзай EntityPick(), как сказано выше) |
Re: Проверка попадания в бота.
А если мне необходимо просчитать попадание лазера в меш (НЕ в сферу), тут математикой не обойтись(без просчета положения вертексов), и ЕнтитиПик() помоему не поможет.. И камерапик юзать не могу, вид от третьего лица.. Можно ли это как-то решить?
|
Re: Проверка попадания в бота.
FrankH, да, конечно.
но в 99% случаев можно отделаться сферой. а если у тебя 100 ботов на 5к поликов каждый? тогда игра будет тормозить жутко. выход - сначала проверять на сферу, потом на меш (тормозным pick методом). |
Re: Проверка попадания в бота.
Спасибо, я наконец разобрался КАК работает ЭнтитиПик!(нашел пояснения насчет Z направления), до этого был уверен что берется близжайший обьект вообще, а не по направлению.. Проверил в коде - все работает!:super:
HolyDel, если бы блитц с моими руками такое потянул..:pardon: Представляю космический симулятор с таким кол-вом ботов.. :wallbash::crazy: Поликов пока не более 1к на юнит.. (кстати странно, в максе фейсов почти в два раза меньше чем в блитце трисов:dontknow:) |
Re: Проверка попадания в бота.
FrankH, я где то на форуме выеладывал либу, которая считает, пересекает отрезок сферу или нет. причем считает очень быстро.
|
Часовой пояс GMT +4, время: 05:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot