A while back I made a material function that can change the size of a regular sprite particle depending on camera position and its distance to the camera:
I am sure that with some messing about you can get it to work the way you want it.
(output goes into world pos)
