Here is one construction. On the horizontal xy plane place a forest of vertical cylinders of radius r<1/2 (or =1/2 if we allow contacts) centered at each point in $(\mathbb{Z} \backslash{\lbrace0\rbrace})\times(\mathbb{Z}\backslash{\lbrace0\rbrace})$; moreover place 2 similar cylinders parallel to x centered at (y=+/-1, z=0), 2 more parallel to y centered at (x=0, z=+/-1) and the last 2 parallel to z and centered at (x=+/-1, y=0).  Then (0,0,0) is blocked by the forest in all directions except those in the xz and yz planes, which are blocked by the other 6 cylinders.  The forest clearly does not need to be infinite and it should be easy to find an upper limit on its size.

${\bf UPDATE}$ As pointed out by Mark in a comment, the forest should be based on $(\mathbb{Z} \backslash{\lbrace0\rbrace})\times(\mathbb{Z}\backslash{\lbrace-1,0,1\rbrace})$.