I need to displace a long row of telephone poles which are connceted by wires. They are modeled in a long row heading the z-axis. So to bring in some random positioning I use a gradient (input Z coordinate) with keys in the same distance like the poles. I manually set up different values for alpha channels, set the interpolation type to linear and feed the alpha output into a make vector node (x, y and z are set to zero).

This displaces my poles nicely into different x positions while the wires between them follow in a "linear" fashion from pole to pole. Brilliant!

But if I want to bring in even more randomness and try to use a 3d textures alpha output which I feed into each key of my gradient, then the texure takes over even the gaps between my keys and displaces my poles in a very wired fashion. Linear is still set up as the interpolation kind, but somehow the texture doesn't care. It looks like their wouldn't be the gradient at all, but only a texture that diplaces my poles/wires constantly.

Is there a way to avoid this and have random integers assigned to each key of my gradient so that the result is the same as with manually assigned values?

Cheers and thanks very much in advance