how do u correctly add force at a position of a rigidbody based on the raycasts hit point and the rays forward vector
i made a small test but get very weird results
extends RayCast
export(PackedScene) var impact_normal
export var force = 20.0
export var damage = 50.0
func firebullet():
self.force_raycast_update()
if self.is_colliding():
var collider = self.get_collider()
var impact = impact_normal.instance()
collider.add_child(impact)
if collider is RigidBody:
collider.add_force(self.global_transform.basis.z * force, self.get_collision_point())
impact.global_transform.origin = self.get_collision_point()
impact.look_at(self.get_collision_point()+ self.get_collision_normal(),Vector3.UP)