1 Pluspunkt 0 Minuspunkte

Ich habe eine Funktion wo ich mit einem PhysicsRayQueryParameter einen Raycast mache und die Namen der Collider anzeige.

func shoot():
    var space = get_world_3d().direct_space_state 
    var query = PhysicsRayQueryParameters3D.create( 
    head.global_position, 
    head.global_position - head.global_transform.basis.z * gun.max_distance 
    ) 
    var collision = space.intersect_ray(query) 
    if collision: 
        print(collision.collider.get_parent().name)

Wie kann ich zusätzlich noch wissen wie weit der Ray war?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Mit der Funktion distance_to() berechnest die die Entfernung zwischen 2 Positionen.

var distance = collision.position.distance_to(head.global_position)
von (884 Punkte)