Can I use an material texture to represent a surface of spheres?
Use a texture to drive a bump node. Plug Bump's "normal" output into the normal input of the Principled BSDF node. I can make a voronoi texture small enough to represent closely packed balls or bubbles. Then I can colour them as a group with a noisy texture. This hides the fact that each ball is not really coloured. Finally I use a 4D texture to animate the bubbles motion over time.



Here are the nodes :