I have a pretty simple tank object, which consists from nested tank, chassis, turret and muzzle at the end of the turret. I`m trying to fire a projectile from muzzle with this code: Code (CSharp): var projectile = Instantiate(projectilePrefab, muzzle.transform.position, muzzle.transform.rotation); projectile.GetComponent<Rigidbody2D>().AddForce(muzzle.transform.position, ForceMode2D.Impulse); If tank stays steady and looks to the up, projectile slowly fires in right direction. If I rotate whole tank, it fires right too. If i rotate turret also, projectiles start diverge from the trajectory i expect. If I move tank and fire, projectiles start to fly to some weird random directions. May be there is some more right way to give projectile velocity 10 in the direction of muzzle, and add current tank speed to this direction also?