Probably because its a rigid body, it may be interacting with the Player body, The following is code I use for a 2D shooter, it might be useful for you:
var b = bullet.instance()
b.position = $Bulletpoint.get_global_position()
b.rotation_degrees = rotation_degrees + tot_recoil
b.apply_impulse(Vector2(0,0),Vector2(bullet_speed,0).rotated(rotation + tot_recoil))
Instanciates the bullet, sets position in a Position2D node in front of the player, ajusts rotation and applies impulse.
Doing this might also help:
func _on_Bullet_body_entered(body):
if not body.is_in_group("player") && !self && !self.get_parent() && !body.is_in_group("bullet"):
queue_free()
if body.is_in_group("bullet"):
body.add_collision_exception_with(body)
if flag != body && body.is_in_group("player"):
damage(flag,body)
verifies the group of the node and adds collision exception, in this case it asks if its another bullet, but you can ask if the body is the player who shot. The "flag" variable is the instance who shot the bullet in this code.
Again, 2D code, but I hope tou can use it