When I do this,
Graphics3D[{Sphere[{-1, 0, 0}], Sphere[{0, 0, 0}],
Sphere[{+1, 0, 0}]}, Axes -> True, PlotRange -> Full, Boxed -> True]
I get this:

What can I change to eliminate the clipping that's shown (spheres chopped off halfway)? The only boundary I want to cause clipping is the red rectangle that's shown.
Furthermore, I am Animating this type of graphic, to simulate spheres moving through 3D-space over time, and I want the virtual-camera position to remain constant over time. I want a fixed virtual-camera in a fixed virtual-space, with only the spheres in motion. I want the red rectangle to stay a constant shape, and I want the bounding-box to remain a constant shape too, at a fixed position within the red rectangle (or possibly I'd be better off with no bounding-box, but I'm not sure).
When I try changing Boxed to False, the bounding box is no longer displayed, but its boundaries continue to clip the spheres.
When I try changing PlotRange to All, the shape of the red rectangle varies according to the varying positions of the spheres; but I want the shape of the red rectangle to remain constant instead.
I have investigated all the Graphics3D-options that seem to me like they might help, but I still have found no solution.