Specifying background color seen through semi-transparent surface

Changing the last four lines in the graphics list to this:

Opacity[0.2],
Yellow,
Arrow[{{0, 0, 0}, {-1/Sqrt[2], 0, 1/Sqrt[2]}}, {0.35, 0.25}],
Sphere[]

Gives this:

Mathematica graphics

The idea is that the arrow shaft is a tube, a 3D graphics primitive, so it will be colored similarly to the sphere since it will be subject to the same lighting. One problem is that if you move the graphics, the black will come through. I would rather expect the black to show through since the tube has opacity, but for some reason, it doesn't on my copy of Mathematica 12, until we move the graphics.

This idea cannot be extended to gradient surfaces, unfortunately.


Another possibility is to invent your own arrow primitive:

textarrow[{p_, q_}, text_, opts : OptionsPattern[]] := 
  With[{t = 0.4},
   {
    Line[{p, (1 - t) p + t q}],
    Arrow[{t p + (1 - t) q, q}],
    Inset[Graphics[Text[text, {0, 0}, opts]], (p + q)/2]
    }
   ];

Graphics3D[{
  Thickness[0.01],
  textarrow[{{0, 0, 0}, {-1/Sqrt[2], 0, 1/Sqrt[2]}}, 
   Style[Rotate["r", \[Pi]/4], 32]],
  Opacity[0.6],
  Yellow,
  Specularity[White, 30],
  Sphere[]
  },
 ViewPoint -> {0, 10, 0}
 ]

enter image description here

However, the gap in the arrow does not scale with the length of the text or its font size.