_pos = [X,Y,Z]
_obj setPos (player modelToWorld _pos)
Y > 0 = in front
Y < 0 = behind
X > 0 = to the right
X < 0 = to the left
Z > 0 = above
Z < 0 = below
BUT
that modelToWorld returns only above ground level Zs.
So, for example, you have your player over a mountain, 100m in front of him there is a deep valley and you want to place a bird 100m in front of it. Well, modelToWorld will return a Z at the same ground altitude od the player, that is 0. So the bird will be placed 100m in front of him, but 50m below (for example).