Axis Animation created the fully animated spot Contraption for milk brand The One, featuring a candy-coloured open-air dairy, staffed by purple flying cows.

Bringing to life an animated dairy of CG characters, Axis Animation blended elements from Willy Wonka and a Heath Robinson contraption to create a 3D spot that tells the story behind the milk brand The One.

The result is an engaging commercial that vibrantly bursts onto the screen, loaded with background animation and creative gags.

Following Axis Animation’s successful pitch with the Merle Agency for the Robert Wiseman Dairies brand, Axis was handed a voiceover script, general visual guidance, and a brief asking for purple cows and a charming farmer.

Initial animation planning revolved around creating black-and-white storyboards, then moving through to a 3D animatic, says Axis Animations director Dana Dorian.

A series of concept paintings were also created to help the client visualize the commercial – Dorian stresses that the time and effort invested in getting approval from the clients at the early stages of the project was worthwhile, as it helped avoid unnecessary changes later in production.

The CG cows were crafted in Modo, with a few of the props and set-dressing elements created in Maya. All 2D work, including concepts and final texture creation, was handled using Photoshop, with high-res images for textures sourced from

With the tools in place, Axis Animation assembled a pipeline that involved asset creation in Modo, Maya and Photoshop, rigging and animation work in Maya, lighting and rendering in Houdini, and final composition in Digital Fusion.

“The modelling of the cows was quite straightforward as they are relatively simple characters,” reckons Axis Animation lead artist Drew Robertson.

“In Modo, we used standard technique sub-division modelling, and then from a base cow we were able to create the other cows really quickly. All rigging was done in Maya and was fairly straightforward.

"We had the ability to switch between forward kinematics (FK) and inverse kinematics (IK), and had some additional controls over and above the standard skeleton allowing us to easily create secondary animation for things like ears and udders.”

With the character CG work underway, the team also progressed on the environment, deploying Houdini’s fur system for grass effects. Axis Animation lead artist Drew Robertson says that the tool made it quick to see results.

“One of the many great tools Houdini has to offer is a simple and very effective fur system,” says Robertson. “In under an hour, I was able to create the first render tests of dense, chunky and healthy-looking grass. Once the tool was working, it was simply a matter of selecting how large a base you required for the shot and applying the procedural shader to that ground plane.”

This takes its colour from whatever surface it is applied to, so a blurred image of real grass was applied to the grid and this gets transferred to each blade, explains Robertson.

The density, length, width and frizz of the grass was then edited on a shot-by-shot basis to create the right look for any particular camera angle and move.

“Luckily we managed to avoid seeing any grass getting flattened or trampled on, saving me a bit of headache, especially with the number of cows we ended up having in the final shots,” says Robertson.

One of the biggest challenges involved moving the grass along the conveyor belt – although the majority of the commercial used straight conveyor sections, meaning the animators could simply move the geometry directly in their scenes.

“The real headache came from the opening shot,” says Robertson. “The curving conveyors also required moving grass, but unfortunately, mainly due to time constraints, the animators never got tools to deform these in Maya. So in Houdini we got the position of each conveyor and set about creating movement.”

The team eventually solved the problem by using what they term a ‘creep’ operation. This is a system that lets you project one piece of geometry along another, so that a new layer of polygons track over the existing static asset.