Thank you for this.
However, it only moves about a plane. I need to be able to move objects around in any direction - up, down, etc. Your examples fix the z value and direction. Although I am able to adjust it to move about in drag_new.zip it seems to jump to the extent of the raycast until it finds a wall and then circumscribes the boundary?
I can't seem to get it to accept:
dist = vec_dist(my.x,camera.x);
vec_set(temp,mouse_dir3d);
//vec_normalize(temp,600);
vec_normalize(temp,dist);
Which should set it to a constant distance from the camera.
What am I doing wrong?