Камрад
|
Geen
Пуля - это "материальная точка", а труп - это даже не твёрдое тело. Движение чего же проще моделировать????
Движение пули моделировать сложно, опять же, из за скорости с которой она движется. Если пуля должна пройти весь путь между кадров, что вполне вероятно, то вся траектория должна быть просчитана в одном кадре, в малую долю секунды.
Без учёта действия аномалий, траекторию полёта пули можно вычислить по заранее заданной формуле, и искать то во что эта пуля ударится уже зная путь. Более того, можно расчитать как далеко пуля пролетит. Теперь посмотри что получается если учитывать действие аномалий:
• Траектория полёта не известна заранее. Значит нельзя сразу начинать искать преграды.
• Не известна дальность полёта. Значит не известно какие аномалии будут влиять на пулю. Это означает что необходимо либо учитывать действие всех аномалий на уровне (сразу выкидываем такую альтернативу), либо просчитывать полёт пошагово (ещё хуже), либо
···• найти все аномалии которые могут сразу повлиять на тракторию пули
···• вычислить дистанцию которую пуля может пролететь до того как нужно будет начать учитывать новые аномалии или перестать учитывать старые
···• просчитать траекторию пули на этом отрезке
···• найти преграды на пути пули в этом отрезке
···• если преград нет, начать всё заново
Движок должен быть способным просчитывать всё это за один кадр. Что будет если игрок начнёт стрелять из пулемёта? Известно что - слайдшоу.
При моделировании движения персонажа, за кадр нужно просчитывать совсем небольшое смещение. Причём просчитывается движение не твёрдого тела, а скелета - небольшого набора точек и правил их движения относительно друг друга.
Изменено: Don Reba, 30-03-2003 в 07:28
|