Frank, what is the main objective here? For example, a code like this also works, but I am not sure that is your objective:
reg = Tetrahedron[];
pnts = RandomPoint[reg, 10];
Graphics3D[{{Point[pnts]}, {Opacity[.5], reg,
MapThread[
Sphere[#1, #2] &, {pnts, Abs@SignedRegionDistance[reg, pnts]}]}}]