![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GLScene - попадание [Delphi, Windows]
Madburro © (2002-08-24 22:16:00)Посоветуйте, пожалуйста, как сделать так, чтобы летящая с большой скоростью, скажем, снайперская пуля - не пролетала через жертву без сробатывания коллизии.Т.е. у пули и жертвы есть Collosion,но он не сробатывает при слишком больших скоростях (изменений координат).
SI-riuss (2002-10-23 15:56:00) [1]Лучи хорошо, если бои затеваются где-нибудь в сортире, где расстояние пренебрежимо мало по отношению к скорости пули. А если война идет, скажем, в горах, и трассирующий полет пули должен быть. Там уже должна быть стрельба по движущейся цели на опережение. Физика нарушается.
Если ты хочешь стрелять со скорострельной пушки, то сделай 3..5..10 пуль, поочередно стреляющих и после коллизии возвращающихся в очередь.
При попадании в камень пуля не нужна, пусть в месте попадания сработает какой-нить эффект.
Jedi Knight (2002-10-21 18:06:00) [2]Все это хорошо, с низкоскорострельным оружием этот номер пройдет, а как быть с автоматом ? Там ведь все таки нужно очередь сделать.
И еще нужно, чтобы при попадании пули в камень, например ,была маленькая вспышка, а для этого, насколько я понимаю нужен сам объект "пуля"
Ketmar (2002-10-21 12:49:00) [3]собственно, если 3д, то делается только лучом (или отрезком). поскольку размеры пули пренебрежимо малы, то никаких дополнительных теложвижений не надо - просто обычная трассировка луча. для того же, чтобы попадать в голову/руку и ты ды отдельно, надо иметь "композитную" модель, т.е. модель, в которой руки, ноги и хвосты представлены отдельными мэшами. кстати, это получается заодно и скелетная анимация %-)
Satanas Nobiscum! 21-Oct-XXXVII A.S.
SI-riuss (2002-10-20 22:45:00) [4]Зачем их вообще клонировать? Снайперская винтовка должна перезарядиться (даже если это типа Steir Aug, т.е. стреляет очередями), то каждый следующий выстрел произойдет позже того, как первая пуля достигнет какой-то цели (объекта, земли или определенного удаления от стрелка). Затем пуля снова возвращается в боезаряд.
Jedi Knight (2002-10-18 17:16:00) [5]Да, и еще: у тебя как пули в винтовке клонируются (не может же их быть 30-40 штук) ?
Если можно поподробнее
Jedi Knight (2002-10-17 21:48:00) [6]Нужно на таймер поставит CheckCollision а потом на таймере интервал ну 1(или меньше) например
MadBurro (2002-08-27 22:29:00) [7]Alek Aaz>
Да, еслиб ещё и с камерой при таком замедлении поработать, то вышел бы интересный эффект, спасибо :)
Alek Aaz (2002-08-27 16:49:00) [8]>А как узнать когда будет этот самый подлёт?:)
Когда позиция до центра модели будет меньше ее "диаметра".
В принципе, зачем пуле лететь из дула? Можно просчитать траекторию пули в окресности модели.
MadBurro (2002-08-26 22:03:00) [9]Alek Aaz>
А как узнать когда будет этот самый подлёт?:)Ведь замедляется она, как я понял, при попадании, иначе зачеи это делать?:)
SI-riuss>
А это вот интересная идея:)Попробую сделать что-то наподобии реила из кваки, т.е. буду удлинять эту пулю пока не сработает коллизия.
Спасибо всем за интересные идеи :)
SI-riuss (2002-08-26 11:18:00) [10]Я вот пишу танковый бой, так вот чтобы снаряд не пролетел сквозь танк я его удлинил, сделал раз в 20 длиннее самого танка. Поставил самосвечение, добавил эффекта огня. Выглядит лучше обычного снаряда.
Alek Aaz (2002-08-26 08:06:00) [11]Тупая идея, но всеже...
Сделай как-бы "замирание" на подобие "матрицы" или "Макса пейна". Не обязательно, что бы это было видно визуально. Т.е. пуля летит на полной скорости и на подлете скидывает скорость. Может прокатит.
madburro (2002-08-26 06:36:00) [12]Да,моментально - это хорошо, отрезок - тоже,но я об этом уже думал.Проблема в том, что всё трёхмерно, и жертва тоже. У неё есть свои координаты, они в центре модели, а что делать если пуля попела куда-нибудь в руку?В этом случае очень удобна коллизия, она следит за соприкосновениями с любыми точками жертвы, не хотелось бы от неё отказываться...
Спасибо за советы :)
Может ещё идеи появятся?:)
Джастер (2002-08-25 22:30:00) [13]Я думаю так сделать: берешь отрезок с координатами (oldX; oldY),(X, Y), т.е. один конец это текущие координаты, а другой это координаты которые были у пули одним циклом ранее. Потом смотришь с чем отрезок пересекается. А лучше действительно сделать, чтобы пуля моментально летела.
ElectHp (2002-08-25 13:29:00) [14]Забей на пулю, тебе обязательно что бы она летела?
ее все равно не видно. ты стрельнул он упал и все!