Jan and I had the idea to create the same work in our respective programs. He mainly works with Cinema4D and Octane, while I’m currently enjoying Houdini and Redshift.
Both of us had a rough Idea on how to approach the project, but some problems where clear to begin with:
How could we nail the Lego look as close as possible and make everyhing feel like it could belong into the film.
We decided to record everything we were doing and only talk, once we are both finished. Check out the timelapsed documentation and more details below!
My biggest hurdle was making this thing fast and responsive. I wanted procedural flexibility on how big each piece can be. It’s set up in a way, where one sets the resolution of the ocean and it fills itself with Lego pieces.
To achieve that, I looked into Redshift based instancing. Everything else was too slow, as Redshift would need to import a lot of geometry into the scene. I believe the newest version of Redshift now supports SOP level instancing, but at the time of creation, that wasn’t the case.
Foam was the goal of the next step.
As an ocean appears rather random I started mixing up some noises to create groups, ultimately select the copy to points.
I noticed on ocean video footage, that huge waves also contribute to foam creation. Therefore I checked the surface of the ocean for it’s steepness in the slope and added that to the existing copy group.
Up next was the creation of the pieces. I modelled the cap pieces and the buoy in a very fast manner, using the real life Lego equivalents as reference.
It was rather unefficient but fast on that part.
Now that everything is up and running light and shading was required.
Most of the shading was rather straight forward, as Lego is made of shiny plastic and physically based engines are good at that.
To get some nice foamy transitions to the normal darker water, I repurposed the foam pice copy groups and coloured them white. With some Cd attribute blur, it was rather fast to get some smooth transitions to support the cap pieces.
As a last step, I wanted to match the stop motion frame rate which can also be found in the movie. The interesting part is that every object moves at a stop motion stutter speed, while camera movement is still smooth and seamless. Once again Houdini totally delivered on that part. You just need one timeshift node that divides the $F by the factor of your desired goal framerate. Running the scene at 24fps, dividing by 3 results in 8fps object motion. Now round that up (ceil) and you’ve got some nice hold frames. I can’t deny that little feature adds so much to the scene.