Показать сообщение отдельно
Старый 13.10.2012, 23:01   #6
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Отдача от взрыва

float dx = EntityX(explosion) - EntityX(body)
float dy = EntityY(explosion) - EntityY(body)
float dz = EntityZ(explosion) - EntityZ(body)

float alen = power_of_explosion / sqrt(dx*dx + dy*dy +dz*dz)

dx = dx * alen
dy = dy * alen
dz = dz * alen
Каждый кадр двигаешь body на эти смещения. постепенно гася смещения как то так
dx = dx * 0.99

не уверен за синтаксис. писал в браузере. команды могут быть другими. суть та же.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
DarkMedveD (14.10.2012)