Material position offset to separate triangles


I want to recreate this effect on UE4:

I have created a new material and I am using the World Position Offset to deconstruct the mesh based on its vertex normals. Right now I am viewing the material on a Cube and this is the result so far (very simple)

As you can see, the cube is deconstructed but not its faces (which are composed by two triangles each).

In order to deconstruct its faces, I want to apply a random vector offset depending the triangle/face.

Is this possible? Should I change my approach? Suggestions? Help.