Всякий раз, когда мой персонаж сталкивается с объектом, я добавляю твердое тело к этому объекту; и я также хотел бы повторно применить ту же силу, которая должна была быть получена при столкновении в той же точке, поэтому она реагирует с физикой.
Пока это моя попытка, но сила слишком велика, как у всех объектов полет с места происшествия:
void OnCollisionEnter(Collision collision) {
if (collision.gameObject.GetComponent<Rigidbody>() == null) {
collision.gameObject.AddComponent<Rigidbody>().AddForceAtPosition(collision.impulse, collision.contacts[0].point);
}
}
Я также пробовал:
void OnCollisionEnter(Collision collision) {
if (collision.gameObject.GetComponent<Rigidbody>() == null) {
collision.gameObject.AddComponent<Rigidbody>().AddForceAtPosition(collision.impulse / Time.fixedDeltaTime, collision.contacts[0].point);
}
}
Что я делаю неправильно / отсутствует?