Stefan Lopusny, co-founder of Fat Tony Studio, gave us some insight on his design project, "In Circles." Now he’s giving us an extra-close look at its step-by-step creation.
INSPIRATION IS IN THE DETAILS
I was initially inspired by my trip to Denmark, where I experienced - in person - the beauty of Scandinavian design and architecture. I knew I wanted to create a project with a Scandinavian flavor to it, but after visiting, I primarily used the designs and products that I experienced “with my own eyes”.
The obvious element in my film – the spinning top - was inspired by a small gift I received from my girlfriend, Sofia. She had given me a round spinning top that flips upside down and continues to spin on the tip of the stick when spun really fast. I immediately had the idea to use this toy as a guide through the space I was going to create, instead of a simple pan and zoom as is the case in most architectural films.
For general modeling, we didn't do anything out-of-the-ordinary. We used some 3ds Max plugins such as FloorGenerator to create flooring, Marvelous Designer to make curtains, carpet and the leather base for fur. GrowFX was used to create some custom plants, and the rest was basic modelling done in 3ds Max.
The white models were custom-made by our team for this project, while the red models came from 3dsky, green models from Design Connected and blue ones from Evermotion.
SIMULATING + ANIMATING
The most interesting aspect of this project was without a doubt simulating the spinning tops.
The first step was to identify which elements will be simulated. To keep the scene as light as possible, we simulated objects such as the table, the tops, the camera, to name a few.
In this example, we had a spinner, a ring around the spinner, and a table. We used the MassFX tool in 3ds Max for all simulations. It took a while to figure out which settings to adjust, but after we got a good grasp of it, things began to move along quickly. A key learning for us was that there are several simulation states inside the MassFX tool. Objects that are supposed to be simulated and react to forces (i.e. change position, rotation, shape, etc.) should be set up as DYNAMIC RIGID BODY, while objects that serve as collision objects should be set to STATIC RIGID BODY.
In this example, the table is a static rigid body, since it should stay unchanged but needs the spinner to react to it. The spinner and the ring are set as dynamic rigid bodies because they’re reacting to rotation force, gravity force, and collisions with static bodies. In both cases, only the shape type setting was changed from the default "convex" to "concave," allowing the objects to react properly with each other. From there, you would just hit "generate" on the default setting, and if everything is correct, you should see white wire mesh copying the shape of the object.
To get a smooth simulation, we tweaked the settings in the main dialog of the MassFX tool. We noticed that we had to go higher on sub steps and solver iteration values, because when they were too low, they worked faster though the simulation appeared jumpy. Default gravity was set to -9810 mm acceleration, but we lowered it a tad since the gravity was slowing down the spin; in our case, lower gravity allowed for a smoother spin that lasted longer.
To start the simulation, you can either preview it by hitting the play button, or you can bake the simulation right away; this will automatically create a key for each frame. In our experience, we weren’t getting same result when we viewed the simulation through preview, so we ended up baking the tests since it didn’t take much longer than previewing it. If you don't like the simulation, you can simply unbake the selection and the simulation will be erased, keys deleted, and you will return to your object’s original state.
Here’s the preview with only default settings.
Getting the spinning top to spin was a challenge; we had tried several methods like rigging it, animating it "by hand" with transform tools, and MassFX in combination with kinematic bodies. The best result by far was attained with the simplest solution: "initial spin" in the advanced roll-out of MassFX.
We set the speed to 2000 (after lots of trial and error!) and also changed the center of mass setting from "calculate from meshes" to "use pivot". You can see the difference in the previews.
Here you can see the Damper setting’s influence on the simulation. Notice the slight difference when the damping value is lowered.
Here’s a look at all the final simulations together.
We kept the texturing portion of this project fairly simple. Most of the materials were created using dirtmaps or prodecurals. V-Ray triplanar textures came in handy, while other objects were either UV’ed directly from generated geometry (from Marvelous Designer, FloorGenerator, etc.) or simple box/cylinder mapping in 3ds Max.
For still image projects, we usually go deeper in material creation, but since optimization was key and the film resolution would "only" be full HD (in comparison to 6-7K images we do for stills), we knew we could get away with simpler materials.
LIGHTING + CAMERA
For general lighting, we used a V-Ray HDRI setup, as we do in 95% of our projects. There were no extra lights – the HDRI map we used was a cloudy sky from CG-Source, and there were a few spot IES lights in the kitchen. The camera setup was very simple; we locked the exposure value since we were rendering in a DOF and motion blur effect. Motion blur was used in the render since it gave a more accurate result without any edge flickering, especially when combined with the DOF.
The camera animation was pretty straight-forward – my only recommendation here would be to create a pre-visualization of the movement so you don’t waste time rendering the entire sequence just to see that the camera is moving too fast.
We have a small in-house render farm of approximately 150 physical cores which were quite useful in rendering the final animation. We tried to optimize the render time as much as possible so we could reach the best possible quality within reasonable time. We also took the opportunity to troubleshoot the process along the way since it was not a commissioned project. Everything was rendered in V-Ray, and saved out as a frame-by-frame animation. All the frames were saved as 32bit EXR files, with only a beauty pass, since we didn’t intend to do any heavy compositing afterwards.
As a reference, I had a couple of images from Kristofer Johnsson, where I liked the color and contrast. As practice, I tried to copy his palette, using different materials and lighting. The animation was put together in Adobe After Effects, and tone-mapping and color grading were done using the Magic Bullet Looks add-on. Everything was done in 32bit depth to maintain control over the camera effects and tone-mapping. Magic Bullet Looks helped bring the colors into balance and create the desired contrast.
You can see the amount of adjustments in post-processing in the following images, comparing raw renders and final images after color adjustments.
Here’s the final result.
Curious to see how Stefan Lopusny was inspired to create ‘In Circles’? Read all about it