public void onApplyForce(ApplyForceToCarSignal signal) { //Vector3 sceenToWorld = _camera.ScreenToWorldPoint(new Vector3(Screen.width/2, Screen.height/2, _camera.nearClipPlane)); Vector3 impactToCar = Vector3.Normalize(signal.impactPoint - _steering.transform.position); float dot = Vector3.Dot(impactToCar, transform.right); float offset = 1 - Mathf.Abs(dot); _impactOffset = impactToCar * (impactForce * offset); impactTransTime = 0.0f; }
public void ApplyForce(ApplyForceToCarSignal signal) { _steering.rigidBody.AddExplosionForce(signal.power, signal.impactPoint, signal.radius, signal.upMod, ForceMode.Impulse); }