This could be done with voxels, but the amount of work would be unreal since you're basically animating each little block by hand.