forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Проверка попадания в бота. (http://forum.boolean.name/showthread.php?t=5240)

H@NON 11.12.2007 22:29

Re: Проверка попадания в бота.
 
А смысл писать в глобале Global MHIT2=MouseHit(2)? проверка же должна идти в цикле, так у тебя сначало присвоилось переменной значение MouseHit(2), а когда ты уже в цикле прогоняешь ситуацию с нажатием клавиши и он у тебя все время выдает 0, то есть то значение что было присвоено при инициализации графики.

А твой вариант не работал потому что ты часто проверял нажатие мыши( ты сам посмотри сколько у тебя там ботов, вот столько раз ты и проверял, да-да, да еще за один проход главного цикла, а нужно всего проверять один раз на каждой итерации ).

FrankH 16.12.2007 13:49

Re: Проверка попадания в бота.
 
У меня тоже проблема с сабжем, только другого плана: использование CameraPick дает точную точку попадания в бота, однако при тех же условиях LinePick не возвращает ничего, отобразил на экране линию, чтобы проверить что она на месте, все равно при попадании на линию бот не пикается. Тут неоднократно говорилось, что LinePick глючит, не могли бы вы поделиться при каких условиях это происходит, и как с этим бороться?

Diplomat 16.12.2007 14:28

Re: Проверка попадания в бота.
 
Цитата:

при каких условиях это происходит, и как с этим бороться?
При любых. Никак.
Просто используй EntityPick().

HolyDel 16.12.2007 14:37

Re: Проверка попадания в бота.
 
При любых. Никак.
Или математику можешь использовать. (если определить пересечение отрезка со сферой - проблема, то тогда юзай EntityPick(), как сказано выше)

FrankH 16.12.2007 15:02

Re: Проверка попадания в бота.
 
А если мне необходимо просчитать попадание лазера в меш (НЕ в сферу), тут математикой не обойтись(без просчета положения вертексов), и ЕнтитиПик() помоему не поможет.. И камерапик юзать не могу, вид от третьего лица.. Можно ли это как-то решить?

HolyDel 16.12.2007 16:05

Re: Проверка попадания в бота.
 
FrankH, да, конечно.
но в 99% случаев можно отделаться сферой.
а если у тебя 100 ботов на 5к поликов каждый?
тогда игра будет тормозить жутко.
выход - сначала проверять на сферу, потом на меш (тормозным pick методом).

FrankH 16.12.2007 16:25

Re: Проверка попадания в бота.
 
Спасибо, я наконец разобрался КАК работает ЭнтитиПик!(нашел пояснения насчет Z направления), до этого был уверен что берется близжайший обьект вообще, а не по направлению.. Проверил в коде - все работает!:super:
HolyDel, если бы блитц с моими руками такое потянул..:pardon:
Представляю космический симулятор с таким кол-вом ботов.. :wallbash::crazy:
Поликов пока не более 1к на юнит.. (кстати странно, в максе фейсов почти в два раза меньше чем в блитце трисов:dontknow:)

HolyDel 16.12.2007 16:31

Re: Проверка попадания в бота.
 
FrankH, я где то на форуме выеладывал либу, которая считает, пересекает отрезок сферу или нет. причем считает очень быстро.


Часовой пояс GMT +4, время: 05:12.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot