Я реализую клон Rocket League в Unity. В рамках игры мяч сталкивается с машиной. Столкновение Me sh автомобиля - это простая коробка, а me sh мяча - сфера. Однако вместо того, чтобы импульс столкновения был получен из нормали контакта коробки, мне нужно, чтобы нормаль вычислялась по местоположению центра масс автомобиля. Это видео дает отличную иллюстрацию того, что я имею в виду. Мне также нужно знать, как изменить величину столкновения для увеличения / ослабления силы. Это видео объясняет, почему. В принципе, любая информация о том, как напрямую изменять силы столкновения в коде, была бы принята с благодарностью.
Это была моя скудная попытка реализовать это. Это было реализовано в классе мяча. Это не сработало.
void OnCollisionEnter(Collision collision) {
if(collision.gameObject.CompareTag("Car")){
rigidbody.AddForce(collision.impulse * -1); #still need to add normal
}
}