LEGO
DREAMZzz

"Calling all dream chasers!"

The Brief

In 2024, I had the opportunity to work on a LEGO project and their DREAMZzz season 2 campaign at UPP Advertising. A bit of art direction, but mostly the task was previz. There were two ads I worked on — a 30s and a 60s.

Screenshot 2025-06-18 104026

The Process

The challenge for me was to wrangle multiple things together — putting story elements into one composition, moving very rapidly — and making it readable. We did have an initial storyboard from the director and a rough boardomatic with references, which is always super helpful!

We had official 3D models of the characters and vehicles from LEGO, and our 3D artists were munching through those to make sure all colors and textures adhered to the official guides.

For the environments, we were provided with some scenes from the animated series, which is done in UE. It was cool to see under the hood, how these things are made.

Before I came on board to work on the previz, there was also a techviz stage prepared by Zdeněk Machuta to support the initial setups for the live-action shoot, so we already had some ideas about scale and other practical considerations.

As the process went forward, I realized I couldn’t just do it on a shot-by-shot basis and send it to the editor and back — as usual in a commercial environment, there was no time. And since our studio was doing the full CG animation anyway, it made sense that we’d set the edit as well.

Which was cool, because I could have both the 3D previz scenes + live-action footage from set + initial boardomatic all combined on a timeline and build it in context. Because there was some basic comp, I did the edit inside After Effects.

Screenshot 2025-06-18 105157
Screenshot 2025-06-18 105421

Inside Unreal Engine

30s version

The biggest challenge was the first 3 shots. Show 3 big toys, read them at flying speed of the kids, with a live greenscreen plate, that already has baked twists and turns of their bodies and then introduce a ship stealing realms and 2 new heroes and a bike chasing that ship - all that in like 6 seconds…easy right? :)

It became an entangled ping pong of changing distances, flight paths, animation speeds, rendering it and going into the edit and back to UE. 

This is the great thing in Unreal - you can have crazy complex geo, materials and lighting and you can hit that spacebar and it plays… So the turnaround and brainstorming is very fast.

I could also utilize the ability of VDBs for the clouds, so that I can have static volumetric objects in the scene and start to play around with parallax to show speed etc. 

lgd_240110R1_30s_previz_Edit_Main_v003.mov_snapshot_00.03.739 LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.03.589
lgd_240110R1_30s_previz_Edit_Main_v003.mov_snapshot_00.09.591 LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.09.353
lgd_240110R1_30s_previz_Edit_Main_v003.mov_snapshot_00.10.143 LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.10.506

60s version

In the long online variant, the goal was more or less showcase all the toys, give them enough time and connect it to the story of gathering all the “dream chasers” as a call to action against the main villain.

The base environment was the flat grassy fields of the islands - originally there was a discussion about having also some hills, thats why the previz has them, but it was scrapped and ended up only with flat land. I used this beautiful stylized pack to get going quickly.

The most fun of these shots was probably the flying zoey, where she has to jump out of the transformed Cat Motorcycle. The tricky part was to tie together camera speed, the flying bike wiggle, have the text there behind her and then do the jump of the character. Again in UE, for animatics/previz quick animation, the playback and quick changes in real time are just awesome.

At the end I used a bit of virtual camera just with my iphone in UE to get that selfie camera vibe into the world of LEGO characters.

lgd_240110R1_60s_previz_Edit_Main_v005.mov_snapshot_00.05.111 LEGO_DREAMZZ_OLV_60s_240516.mov_snapshot_00.04.828
lgd_240110R1_60s_previz_Edit_Main_v005.mov_snapshot_00.24.352 LEGO_DREAMZZ_OLV_60s_240516.mov_snapshot_00.24.765
lgd_240110R1_60s_previz_Edit_Main_v005.mov_snapshot_00.59.001 LEGO_DREAMZZ_OLV_60s_clean_240516.mov_snapshot_00.58.770

The Conclusion

For me, the biggest challenge was the 30-second story shots, which I feel could have worked better because the viewer doesn’t have enough time to digest everything that’s happening — but hey, it’s a process :)

We also learned a lot technically inside UE, gaining plenty of experience with importing assets into the engine and exporting them back out. There was a lot of cleanup with sequencer timelines, adjusting handles, breaking attachments, and all that fun stuff :)

The main file format for exchange was FBX and it work quite well on import into the engine, but almost killed us on export. For some reason opening those UE FBX files in Maya was an absolute time killer. In Blender it was no problem for some reason. After that, we mostly switched to USD workflow.

Having the engine sit inside the VFX pipeline was quite challenging at times but it gave us a lot of insights for future projects.

LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.03.589
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.04.858
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.09.353
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.10.506
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.12.699
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.13.721
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.17.075
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.23.397
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.24.136
LEGO_DREAMZZ_30s_IN_consumer_16x9_240531_clean.mov_snapshot_00.26.031
LEGO_DREAMZZ_OLV_60s_240516.mov_snapshot_00.03.023
LEGO_DREAMZZ_OLV_60s_240516.mov_snapshot_00.04.828
LEGO_DREAMZZ_OLV_60s_240516.mov_snapshot_00.08.986
LEGO_DREAMZZ_OLV_60s_240516.mov_snapshot_00.24.153
LEGO_DREAMZZ_OLV_60s_240516.mov_snapshot_00.19.496
LEGO_DREAMZZ_OLV_60s_240516.mov_snapshot_00.53.687

Thanks for checking out the project!

RB_Dots_black

© 2025 ROBOT BARON