So I think i got a solution for this:
import maya.OpenMaya as OpenMaya
def projectPoint(worldPnt, camPnt, depth):
'''
@param worldPnt - MPoint of point to project. (WorldSpace)
@param camPnt - MPoint of camera position. (WorldSpace)
@param depth - Float value of distance.
Returns list of 3 floats.
'''
#Get vector from camera to point and normalize it.
mVec_pointVec = worldPnt - camPnt
mVec_pointVec.normalize()
#Multiply it by the depth and the camera offset to it.
mVec_pointVec *= depth
mVec_pointVec += OpenMaya.MVector(camPnt.x, camPnt.y, camPnt.z)
return [mVec_pointVec.x, mVec_pointVec.y, mVec_pointVec.z]
I didn't really need to convert it to 2d then back to 3d. I just needed to extend the vector from camera.