View all the Finalists for Rookie Awards 2024
Project Roomba

Project Roomba

Pelle Nordentoft
by PelleNordentoft on 31 May 2024 for Rookie Awards 2024

A short story about a Roomba that's trying its best! Project with a focus on CGi Integration in a Photoreal manner, and the study of the properties of light in a path-tracer.

4 104 0
Round of applause for our sponsors

"Project Roomba" is, first of all, a very creative name for a project about a roomba, I know, thank you, you may hold your applause.

It is also my Examination Project at Visual Magic, marking the end of two years of learning VFX for me.

I wanted to make a nice looking CGi integration project to round out my portfolio, and decided to experiment with camera sensor analysis, color linearization workflows and OCIO. But I also found a more experimental method to do CGi integrations along the way...

The Linearization was done by feeding images of various exposures, as well as blacklevel images, into ETF Image Tools which estimates an accurate curve representing how each of my cameras handle color and brightness. Using this I can then construct a custom OCIO file with all that data and bring that into all of my softwares, to ensure that across multiple cameras and sensors, the images would all match.

This might not seem all too important, but it allowed me to do something very cool.

I could now extract the light using the HDRI I got, then divide that out from the footage I project onto some rough geometry of the scene. This meant that what the camera saw looked exactly the same as the original footage, but this time I could manipulate its light. I could add CG Objects that both received light as well as emitted light onto the scene. So I did some quick tests!

This cube looks pretty much perfectly integrated, because of all of the light interactions between the scene and cube. But this hasn't been composited at all, it's straight from the render. My favorite detail is how the light on it is blown out to the point where you cannot see its color, but it loses exposure in the reflection of the floor which reveals its hue.

The rest of the project consisted of actually adding things to the scene. One of those things being a brand new sunlight, since I can now add and remove light freely!

I also made the roomba itself, controlled using Blender's Geometry Nodes to allow for smooth and very automated animation of the body, brushes and displays.

I added dust to the shot by simulating some particles, also using Geometry Nodes, to make the brushes push the dust in accordance to its spin direction and then suck them away once they got under the main body.

I did have to somehow separate the roomba from its environment to add depth of field to it without further blurring of the footage. This could have been avoided had I shot with a deep focus, but now I know that for next time. I did manage to separate it quite well, and blurred it using a custom defocusing kernel based on my camera's lens

Closing Thoughts

In the end, I'm pretty happy with the project. The integration, which was my goal, is the best I've done. And I learned a lot about workflow organization and light while doing it! There are of course things I could do to make it better, but that is for another time.

Thank you for your time!

Comments (0)

This project doesn't have any comments yet.