SanzioSan was correct in using the basis.z vector, but he did not explain it well enough. In essence, it is a pretty simple problem.
If you are trying to drag an object in 3d or have an object and want it follow your screen, you can use code similar to this:
var transform_hold_obj = node_to_hold_obj.get_global_transform()
transform_hold_obj.origin = transform_hold_obj.origin - transform_hold_obj.basis.z * some_distance_between_you_and_object
obj_being_dragged.set_transform(transform_hold_obj)
The transform_hold_obj in my case is from my camera node. I want some object I select to follow my camera. This code is inside some script connected to the object being dragged. The basis.z vector is my forward vector or the direction my camera is pointing.