This is actually an illusion. The vertices are not lifted: There aren't enough vertices in the model to create the pinata effect.
Here are the tricks:
- The normal map has squares in it to create the illusion of bumps
- The diffuse map as ambient occlusion baked-in to create the illusion of high-detail self-shadows or an ambient occlusion map is used.
- The shadow calculation gets distorted by either the normal map or a displacement/height map to create more illusion of pinata-like bumps so the shadows aren't straight-edged.
- "Fins" are added to the model to create the fluffy paper look you see on the sides where opacity is controlled by the fin's normal relative to the view (camera).
- The diffuse texture can be displaced (parallax mapping) according to the view direction and a height map to create a higher sense of depth.
Shells are not needed for the pinata effect but look up "3d Fur effect" and/or "shell and fins" for example of generating fins
A very minimalistic example (fins and baked ambient occlusion only):
Create your pinata color pattern:
Add some ambient occlusion:
Take your 3D model (A simple cube in this example so we can see how its done) and extrude the edges. These are the "fins".
Create a texture for those fins that reproduces how the pinata paper looks sideways:
Apply this texture to the fins
Left to do: Add normal map and parallax mapping or an extra shell.
Shells are extra copies of your original geometry extruded along the vertex normal that are rendered with a mostly transparent layer to create the illusion of depth.
Usually a shader is created that takes a height map and the diffuse texture to make every texel below the height threshold of each shells transparent.
By creating an extra layer above the original mesh a slight illusion of depth is created:
The more shells are created, the better the effect.