How to get unique displacement for each particle object? I'm trying to create a bunch of low-poly bushes with a particle system. The goal is to not make them "real", that is, I want to keep them as "virtual". I use a Displace modifier to shape the bushes. Using Blender 2.81a and Eevee.

The bush without a modifier is just an icosphere:



The Displace modifier with a Voronoi texture gives it some shape:



Use a particle system to multiply and place many bushes:



Now the problem is that every bush has the exact same shape. Here I move the Texture Coordinate Object 'Empty':



Is it possible to set the texture coordinates in a way that each bush (particle) is at different place in the texture?

I have tried:


Different texture coordinates (Local, Global, Object) and spaces (Local, Global): no effect
Use the Displace modifier for the Emitter instead of Bush object: does not do anything useful
I came across ParticleInstance modifier. I'm not sure if this is the best way to do it but it seems to work.

In the particle system settings, render as object and use Empty:



Add a ParticleInstance modifier to the actual object and place it before the Displace modifier. To use the size randomness, enable the Size option:



Edit. Actually the 'Render As' option of the particle system can be None. Just temporarily set it to Object to set the Scale and Scale Randomness. Then set to None, or just don't select anything in 'Instance Object'. There's no need to multiply all the Empty objects.