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
не уверен за синтаксис. писал в браузере. команды могут быть другими. суть та же.