Implement 2D sprites as plot point markers in ListPointPlot3D

With dimension reduction, It's possible to visualize image data in 2D by using the PlotMarkers option:

ListPlot[List /@ xy,
PlotMarkers -> (Image[#, ImageSize -> 100] & /@ tree),
ImageSize -> 2000]

However, if one wishes to have 3D dimension reduction with images as points, you can't really do that.

I have seen a post that says one can replace the points in ListPointPlot3D with shapes like so:

lpdata = Table[(4 Pi - t) {Cos[t + Pi/2], Sin[t + Pi/2], 0} + {0, 0, t}, {t, 0, 4 Pi, .1}];

lpp1 = ListPointPlot3D[lpdata,
Filling -> Bottom,  ColorFunction -> "Rainbow", BoxRatios -> 1,
FillingStyle -> Directive[LightGreen, Thick, Opacity[.5]],  ImageSize -> 400];
lpp2 = lpp1 /. Point[x__] :> (Sequence@{EdgeForm[], Cone[#, .3]} &@
({x} /. {{a_, b_, c_}} :> {{a, b, c}, {a, b, .5 + c}}));

Row[{lpp1, lpp2}, Spacer]

This and this post: Use a custom3D graphic for points in ListPointPlot3D

Are somewhat relevant, but I wanted to ask if it's at all possible to replace points with classic 'sprites' that are 2D images in 3D space that always face the viewer, or even just small static 2D planes in 3D space with the image projected onto it would be great.

Is any of this possible?

• Well, there's Inset[]: Graphics3D[Table[Inset[Graphics[{Texture[ExampleData[{"TestImage", "Lena"}]], Polygon[{{0, 0}, {1, 0}, {1, 1}, {0, 1}}, VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}, ImageSize -> Tiny], ConstantArray[j, 3]], {j, -4, 4, 2}]] Dec 30 '16 at 9:24
• How can I utilise that in the context of listpointplot3d? Dec 30 '16 at 10:16
• You seem to be well-versed in making substitutions judging from the code you posted, so: Normal[lpp1] /. Point[plist__] :> Inset[sprite, #] & /@ plist Dec 30 '16 at 10:23