The Dreams campaign has been one of our most ambitious projects to date, and we’ve had a couple!

The Team

Various Roles

Sep 23, 2025

It was tight on turnaround time. Included multiple deliverables. New clients to impress and establish new collaborations with several outside creative teams. And that’s before we even started the production.

Whilst we knew that teamwork would make the dream work, that’s not to say it wasn’t without challenges, plenty of hard work, and a few late nights along the way. So we wanted to reflect upon our biggest learnings from the project. From the perspectives of our Creative Director, Jordan Armitage, Animation Director, Dan Castrogiovanni and our 3D Animator, Neil Lasrado. To share what we faced and how we overcame them; ensuring our workflow and quality remained dreamy and not…nightmary.
All puns are intended.


It was tight on turnaround time. Included multiple deliverables. New clients to impress and establish new collaborations with several outside creative teams. And that’s before we even started the production.

Whilst we knew that teamwork would make the dream work, that’s not to say it wasn’t without challenges, plenty of hard work, and a few late nights along the way. So we wanted to reflect upon our biggest learnings from the project. From the perspectives of our Creative Director, Jordan Armitage, Animation Director, Dan Castrogiovanni and our 3D Animator, Neil Lasrado. To share what we faced and how we overcame them; ensuring our workflow and quality remained dreamy and not…nightmary.
All puns are intended.


UV Stretch Animation (or putting the faces on the beds) by Neil

The science bit!

While animating the bed using shape keys, we noticed that the displacement maps particularly on the bed’s surface were stretching far more than intended. Simply projecting the textures via object or camera mapping wasn’t sufficient; the textures needed to stretch a little. Just enough to feel like they were naturally part of the bed.

You might ask “Why not model the displacements directly?” A valid approach, but for characters like Beddie and Matty, displacement detail was required across the entire face. Modeling such intricate deformation in geometry would complicate the shape key animation process.

The science bit!

While animating the bed using shape keys, we noticed that the displacement maps particularly on the bed’s surface were stretching far more than intended. Simply projecting the textures via object or camera mapping wasn’t sufficient; the textures needed to stretch a little. Just enough to feel like they were naturally part of the bed.

You might ask “Why not model the displacements directly?” A valid approach, but for characters like Beddie and Matty, displacement detail was required across the entire face. Modeling such intricate deformation in geometry would complicate the shape key animation process.

The science bit!

While animating the bed using shape keys, we noticed that the displacement maps particularly on the bed’s surface were stretching far more than intended. Simply projecting the textures via object or camera mapping wasn’t sufficient; the textures needed to stretch a little. Just enough to feel like they were naturally part of the bed.

You might ask “Why not model the displacements directly?” A valid approach, but for characters like Beddie and Matty, displacement detail was required across the entire face. Modeling such intricate deformation in geometry would complicate the shape key animation process.

UV Maps

We began with a neutral face UV map as our base. Then, we analyzed the animation and identified the pose where texture stretching was most severe. We created a shape key for that specific pose using “New Shape Key from Mix.” From there, we used vertex pinning and selective UV unwrapping to isolate and correct the problem areas, allowing texture stretching only around the face, not across the entire bed and giving overall control of the stretch.

Part 1: UV Unwrap the Base Mesh: Start by cleanly UV unwrapping the neutral pose of the bed (above image).

Part 2: Identify Stretch-Prone Areas: Play through the animation and find frames where texture stretching is most visible (below).

We began with a neutral face UV map as our base. Then, we analyzed the animation and identified the pose where texture stretching was most severe. We created a shape key for that specific pose using “New Shape Key from Mix.” From there, we used vertex pinning and selective UV unwrapping to isolate and correct the problem areas, allowing texture stretching only around the face, not across the entire bed and giving overall control of the stretch.

Part 1: UV Unwrap the Base Mesh: Start by cleanly UV unwrapping the neutral pose of the bed (above image).

Part 2: Identify Stretch-Prone Areas: Play through the animation and find frames where texture stretching is most visible (below).

Team Direction by Jordan

Though we all had individually worked on projects like this before, we had never actually worked on a project of this type together as a team. At first this might have seemed a hindrance. It ended up being a great strength when tackling the challenges that arose on the project.

And it was my personal challenge to combine all of our skill sets. And make sure they were being utilised collaboratively and effectively to find creative solutions quickly. With each team member having a varied set of past experiences, we were able to share our knowledge and bounce off one another helping to fill the gaps. Keeping organised was a key for creating a smooth transition as the shots were passed between team members throughout the various parts of the workflow.

Our project tracker and set up on the Milanote platform made it clear and simple with who was tasked with what to-do’s and at what stage each shot was at. One of our main technical challenges I oversaw was the replacement of the mattress top for the character. When it came to the compositing, the piping around the mattress edge helped us to get a nice clean rotoscope for the CG mattress to sit in. This helped to keep a level of realism to the visuals, being able to combine CG with the live action mattress. Matty, was a little problematic as he didn’t have any piping around the edge, though luckily most shots we could get away with a full mattress replacement if Matty was in shot. 

Though we all had individually worked on projects like this before, we had never actually worked on a project of this type together as a team. At first this might have seemed a hindrance. It ended up being a great strength when tackling the challenges that arose on the project.

And it was my personal challenge to combine all of our skill sets. And make sure they were being utilised collaboratively and effectively to find creative solutions quickly. With each team member having a varied set of past experiences, we were able to share our knowledge and bounce off one another helping to fill the gaps. Keeping organised was a key for creating a smooth transition as the shots were passed between team members throughout the various parts of the workflow.

Our project tracker and set up on the Milanote platform made it clear and simple with who was tasked with what to-do’s and at what stage each shot was at. One of our main technical challenges I oversaw was the replacement of the mattress top for the character. When it came to the compositing, the piping around the mattress edge helped us to get a nice clean rotoscope for the CG mattress to sit in. This helped to keep a level of realism to the visuals, being able to combine CG with the live action mattress. Matty, was a little problematic as he didn’t have any piping around the edge, though luckily most shots we could get away with a full mattress replacement if Matty was in shot. 

Communication by Rach

The main challenge I faced during the project was the rapid pace of production. And the changes and updates that came along with this. There were several moving parts between the post team, agency, and client. Also the feedback, which had to be collated, shared, managed between external and internal teams. Along with reviews, clear deadlines for all involved it was heavy on the logistics. The only way to do that was for clear and regular communication.

It was my role to give space for the team to do their craft and work through those challenges whilst also keeping them on track with client deadlines. In pressured times it’s easy to let those doubts creep in and feed the anxiety. But voicing concerns with the team, chatting through solutions and being transparent with our clients is something that got me through those tricky spots. It all comes back to MightyGiants core values which helps us move through our process, keeps clients happy and coming back and our team culture growing from strength to strength.

The main challenge I faced during the project was the rapid pace of production. And the changes and updates that came along with this. There were several moving parts between the post team, agency, and client. Also the feedback, which had to be collated, shared, managed between external and internal teams. Along with reviews, clear deadlines for all involved it was heavy on the logistics. The only way to do that was for clear and regular communication.

It was my role to give space for the team to do their craft and work through those challenges whilst also keeping them on track with client deadlines. In pressured times it’s easy to let those doubts creep in and feed the anxiety. But voicing concerns with the team, chatting through solutions and being transparent with our clients is something that got me through those tricky spots. It all comes back to MightyGiants core values which helps us move through our process, keeps clients happy and coming back and our team culture growing from strength to strength.

Our Socials

Our Socials

Our Socials