KFC - Soft Twirl

Brief: KFC Twirl
Production House: Koki Studio http://www.koki.co.za/

Concept Development and Compositing: Steven Engelke

Animation: Henk Coetzee

Soft serve time! The brief looks fairly straight forward: Soft serve falling into a cone, the cone spins and a little dribble of ice cream melts and runs down the side. Make it look like this, but better. Timelines, budgets, outcomes decided. The idea was that I will be a subcontractor handling all the 3D aspects.

How do I approach this? I would love to do a simulation, and learn something new. Why does nobody have a decent video anywhere of what soft serve ice cream looks like?? Wow, PhoenixFD looks cool! In a couple of hours of doing THIS TUTORIAL I get to a wonky version of what it looked like on the tutorial.

It even has a little bit dripping off the side. And there are some issues that need to be addressed: The ice cream doesn’t stop melting, and loses its shape. The pink to white color gradient flickers like mad. By this time we are talking about having a sculpted tip like in this reference, and I am thinking: How the hell will I do this?

references to match.jpg

It’s not going well with the trial and error, and I seem to work a few steps backward. The requirement was that the ice cream needs to travel some distance before going into the cone, and this made it very difficult to control.

I tried keying the time scale to make the melting stop, but had some very erratic results. Some “drag” nodes also don’t really seem to give me the results I want. And it kept either missing the cone or getting stuck to the sides, or in one case it even exploded. So I had to move on to something else until I found a solution for this. The setup was something like this at that point:

phoenix_setup.jpg

The other thing is the cone. I walk into the nearest KFC and buy 3 soft serves… with no ice cream. It was a beautiful moment, the look on the face of the cashier. And they still charged me in full! Looking at the cones, I start to wonder: Which country is this for? Surely the cones in Singapore look different from the ones in Africa? And this one had a little paper wrapper around it, and country specific design with websites… Best to leave that out until they ask me where it is. I take my usual orthos of the cone to start the modeling process in 3D.

But wait, there must be a better way. Enter RealityCapture. Whoa, this looks amazing, how does it work? What? Help tutorials  are for pussies, step aside and let me take pictures of my earphones. Takes 16 pictures and throw it at the software. Why does it look so bad? How do you need to take these pictures anyway? Ah, okay, there are help files! After a bit of experimenting on pot plants, I got to this:

·         Lighting needs to be neutral and flat

·         Don’t move too much between pictures, this way the software understands what is going on

·         More is better

But 11 million polys into 3DS Max and a 300MB OBJ? This must be optimized…

Which comes out as a 330MB FBX, or 11 million poly… In ZBrush there is the ZRemesher tool, so I rebuild it to be 250000 poly, and don’t worry too much about UVs,

PotPlantTexture.jpg

Just apply textures from the PolyPaint. For the cone I might need to try something even more intricate, but this will do the job for now.

By this time the empty swimming pool was converted into a makeshift photo studio. Kitty is not very happy that I was using her scratch pad.

I actually got better results from my phone than with the DSLR. Part of it was I didn’t have a macro lens, so was unable to focus so close up. Not to mention being much more bulky to try keep in position in a 30 minute span in very awkward positions… Okay, next is going to be the EVIL GNOME!

Meanwhile all of this to run away from the actual simulation. Dum dum dum…  So let’s not get carried away, there is a task at hand. This is the sequence of the 263 photos I took of the cone:

And what the result looks like in RealityCapture:

I then rebuilt the high poly in InstantMeshes in 3D Coat, and also did the UVs there:

But unfortunately, it doesn’t matter how much you geek out about scanning objects from photos. This simulation is not going to run itself. I need to find some solution here. My backup plan was to go to Realflow, if everything fails. I know it much better than Phoenix. At this point me and Phoenix are in a stalemate, and I am starting to seriously doubt if this software was built for super-viscous simulations like these. It really was time to move on.

As per my almost daily updates, I think Steve saw that things are not looking up for me with the simulation. He gave me an idea with a sample scene and a loft that is animated on a curve. The curve is a straight line in the beginning of the scene and animated to end in a helix shape.

It was getting pretty crazy in the curve editor, animating all 44 controllers to fall in place. Actually I animated it in reverse: I had the shape of the ice cream looking nice first, and then added keyframes to have them all on 0,0 on X and Y, and equally spaced in Z.

This would give me exact control over the final shape of the ice cream. There were some issues where you could see through the holes in the ice cream, which were solved by making the loft object wider.

It was around this time that it became confirmed that we will need to deliver a variety of screen sizes and aspect ratios. Some of it will be 1920x1080, others will be 1080x1920, some will be PAL and a vertical version of that, and of course our best friend 1366 (I mean really, who did that?)... The solution to that was to render and comp everything in 1920x1920 square, and just crop and scale the comps to suit. I had to re-animate the camera to work with all the different aspect ratios, and it meant that we will be spending a bit more time on renders because we are closer up on the cones, and the image sizes were bigger.

There was the “drip” part in the storyboard. Some of the ice cream melts and starts running down the side. From here on Steve took over the comps. First I made a scamp that had an animated slice modifier. But the animation was quick. Could have done with an ease out. It should feel like it flow slower when it reaches the first groove in the cone. So I modeled some morph targets in ZBrush, and the result was much better. This needed to be rendered on a separate layer so we could tweak it according to what was needed. In the end, it got canned.

On the final night of rendering, (there is always spare time, right?) we wanted to test something with a glitter map. To really make the ice cream look yummy and sparkle. Cool, it will be quick and easy, slap a fractal map onto the model to self illuminate, remove all lighting and other render layers, and whoop all 330 frames out in less than an hour. Yes, it works much better. But could be ideal if we have it only concentrated on the higher bits of the ice cream. This way it will be more realistic, because the lower bits will have colder air and will take slightly longer to start melting. Thank god the UVs look something like this:

glitter shader.jpg

And this is what the tests looked like:

So, without any further ado, I present to you the final: