BB-8 droid from Star Wars. The material uses four image textures: colouring, depth, lights and dirt density (which is basically a blurred version of the depth). The actual dirt is generated procedurally. The zip file includes an SVG file with each texture on its own layer.
The sphere is rigged to roll using frame_change handler scripts. Note that this can't be done with drivers because the orientation doesn't just depend on the current position, but rather, on the entire history of positions. The blend file includes a simple animation to demonstrate that the ball orientation doesn't repeat when the droid follows a closed path.
To take advantage of the rig, attach your movement animation to the "BB-8" empty, and make sure its z-axis is always perpendicular to the surface that the robot is rolling along. The "Head" object can be rotated independently.
If you like this model, please comment or click the Like button! And let me know if you have any suggestions or if you need any help with the rigging.