Creating this halftone effect using Arrays
Here is a different approach that can be easily animated directly in the viewport using objects.



Create a new circle mesh with a filled face. In Edit Mode assign all vertex to a new vertex group with a weight of $1$.

Add a bunch of Array Modifiers to create a dot grid with the desired spacing and density.



Now add add Vertex Weigh Proximity Modifier and make it control the vertex group created above. Adjust the values as necessary for your scene scale.

Now add a Corrective Smooth modifier to your arrayed circle, activate the Only Smooth option and increase the Iterations value as desired (in my case to about 200).

Pick the previous vertex group to affect its weight.



Now use any dummy object to control the smoothing effect with any desired shape. In this case I created a circular mesh, but can be any mesh shape, then assign this object to control the Vertex Weigh Proximity Modifier created above. Moving it about, scaling it or changing it's shape will affect the halftone effect.