An interview with Kiril Mirkov on Filmakademie's Creature Pinup
We never cease to be amazed by the CG creations coming from the students at the Institute of Animation, Visual Effects and digital Postproduction at Filmakademie. One of their most unconventional projects is Creature Pinup, a parody calendar featuring 12 popular monsters from both recent and classical films posing as glamour models, with an accompanying teaser film. Still recovering from FMX, where the project was showcased and physical calendars were handed out, we talked to the talented Kiril Mirkov to learn more about how they rendered such detailed characters. Thanks Kiril!
Can you tell us a bit about yourself?
My name is Kiril Mirkov, I'm 28 years old and I was born in Sofia, Bulgaria. In 2001, at the age of 12 I moved to Duesseldorf, Germany and went to school there. During that period of time my passion for CGI started to grow. I quickly realized that this is something that I wanted to learn and eventually master as best as I can. So I began practising every day after school. Eight years later, after graduation, I did an animation/VFX internship at the Virtual Republic in Duesseldorf. Thanks to Michael Klein, the founder of the company, and of course to the incredibly talented artists there, I was able to improve my skills to a point where I was confident enough to apply at the Filmakademie Baden-Württemberg, where in the end I got accepted. After that, during my studies at the Animationsinstitut I was lucky to team up with very talented people to create some amazing projects and even had the chance to work at MPC commercials in London during my gap year. After six years, this awesome journey came to an end with my diploma project Creature Pinup, which we delivered just before FMX 2017. Currently, I am working at Woodblock in Ludwigsburg as a 3D Generalist. My plans for the future are not set yet but I would like to work abroad again.
Where did the idea for Creature Pinup come from? How did the team form?
Christian Leitner, the director and the wizard behind the sculpting and texturing magic of the creatures in the project, pitched the initial idea about 8 months ago. By that time we were already working together on another idea for a couple of months but unfortunately we had to kill it, because at one point it just became too massive. Shortly after that, in one of our weeklies, Chris showed a rough animatic of his new idea, Creature Pinup: let’s make a funny and sexy calendar along with a small teaser to attract attention! It was simple but perfect. I loved it.
So, we teamed up again. It didn’t take too long until we covered all the other positions necessary to start production. On our side we had Juliane Walther, who was the producer and team coordinator. Kiana Naghshineh, the co-director / lead animator along with the help of Meike Müller and Manolya Kuelkoeylue. Lisa Ecker was responsible for the rigging and the skin system that was required to make the character more believable. Various simulations like the destruction of the umbrella, dust particles and drool along with the compositing of the shots were done by David Bellenbaum. It all would have been a mess if Marcel Ruegenberg didn’t prepare a solid pipeline for us and even helped me out on shading some of the calendar creatures along with Anno Schachner. And there was myself. I was mainly responsible for the shading, lighting, rendering, grooming along with fx and hair simulations. We were extremely lucky to have such motivated and talented people and it was a pleasure to work with them. Overall it was a lot of fun, with many challenges to overcome, and if I have the chance to work with these awesome people again I will be more than happy to do so.
Did you have any problem securing rights to use such iconic characters?
To generate a parody you have to create connections / similarities to the "originals". But how small should this deviation be? As you can see, when you look at the calendar, we tried to push the feminine side of our creatures a little bit further. That means longer legs, bigger chest and bottom, smaller waist, etc. But there is definitely a similarity. Our lawyer at the Filmakademie informed us that the subject of the “Parody” shows a big “grey” area, which defined what you can and cannot do, but so far we didn't use the product in any commercial way, so there should be no further problems. Once we got this legal advice, we were ready to go.
Which modelling, animation and texturing packages did you use?
Our main application for the teaser was Maya. All animation, shading, lighting along with rigging/skin system, hardsurface modeling, partial fx, grooming and hair simulation was done inside Maya. All the hair and fur for the project was groomed using Yeti. Christian’s weapon of choice was a combination of ZBrush, 3DCoat and Mari for sculpting, retopology and texturing, although I used Mudbox for some additional texturing work. Of course there was Houdini involved as well, not only for fx and simulations but also used by Marcel to develop the look and light some of the creatures for the calendar using HtoA. At the end of the pipeline, Nuke was used to composite the shots.
Why did you use Arnold for this project?
I started using Arnold very early on. I believe it was one of the first versions of SItoA back then. During my studies at the Animationsinstitut I continued working with Arnold on basically every project that I was involved in, simply because there was no reason for me to switch to another renderer and also because I liked how Arnold and everything around it was structured. From the user-friendly interface and amazing performance and quality, to the awesome community and support. Furthermore, we have a lot of talented artists at the institute of animation, who use Arnold for their projects as well. Therefore, if someone needed help in any way regarding Arnold you were most likely to get it. Meanwhile, I was getting better at shading and lighting with Arnold in particular. So my goal was to apply everything that I learned so far on one single project. That is why I ended up using Arnold for Creature Pinup as well. It just proved to be an excellent choice.
What was the biggest challenge that you had to overcome in this film?
For me personally, the biggest challenge to overcome wasn’t really rendering related. Although, when I think about it, I would say the skin of the Goblin King. In terms of shading, lookdev and texturing it was a long, long journey and really tough to get right or at least to get a result that Chris and I liked. I believe we went through almost 60 versions only to get the right skin tone. There were even more little shading and lighting challenges, like the eyes for instance, but eventually it all went in the right direction pretty fast.
But probably the most challenging part for me was the simulation of the groom. I struggled a lot to get convincing simulation results at the beginning. It wasn’t easy in the first place, since we had rapid and fast motions to deal with. So my solution for that was to use nHair instead of Yeti’s build-in dynamics. But doing so required a lot of preparation and some scripting work to transfer information from the Yeti curves to the nHair output curves in order to make sure that the look of the groom didn’t change. Once that was set and tested, it was a matter of a few versions to get a sim that we all liked.
Can you talk a bit about the displacement and texturing detail?
We used vector displacement maps for every character and all the assets that required it. These were generated in 8k resolution and exported out of ZBrush. It took us a while to figure out which combination of settings worked best with Arnold to get proper results, but once that was done, it was pretty straight forward. To make sure that we always had the exact same amount of detail as sculpted, I ended up subdividing until the second last iteration that was used in ZBrush and let Arnold’s autobump feature take care of the last iteration with the very subtle changes. For example, the Goblin King was sculpted using a total of 6 subdivision levels. The second iteration was exported as our base for further modifications. In theory I had 5 more levels to work with. So I would apply 4 subdivision iterations and enable autobump to get the last bit of displacement detail without having to subdivide the model one more time. That way we got very close to the sculpted version in the end.
Furthermore, Chris put an insane amount of detail in the color textures which were all 8k as well and exported out of Mari. All those were distributed along several tiles. Some of them had up to 24 UDIMs in order to get the maximum amount of detail for the final image at a resolution of 7k, and it also was crucial for the teaser, since we had a long close up shot at the beginning. I ended up going for even more detail in the shading process. With stacked noises and fractals and some other techniques, I was able to generate fine veins, small pimples and add more extra displacement where needed. Although we had so many textures at very high resolution, with up to 80 million polygons, when subdivided at render time for displacement it all still felt smooth and fast. Also of course, every single texture was optimized and linearized for maximum performance via Arnold's TX manager.
Which character was the most difficult to render and why?
I couldn’t think of one in particular. All the creatures that I worked on had their own unique challenges to overcome. However the Goblin King got the most attention, since he appeared in the teaser and the calendar and was also the first character that we started working on.
Did you rely on Arnold's Render View for interactive shading and lighting?
I actually used Arnold’s Render View for the first time on Creature Pinup and I have to say it made my lookdev and lighting workflow so much faster and easier. It is really hard to imagine now doing the whole project without it or as a matter of fact every other project after that. For me personally, one of the most useful features is the “debug shading” panel, and the “isolate selection” in particular. In combination with the shading tree, this feature becomes irreplaceable for shading/lookdev. Some of the other features weren’t even new to rendering but since I worked in Maya, they were crucial and just missing in Maya’s built-in frame buffer. I would say that you only really get Arnold’s full potential and power once you start working with the ARV.
Do you have any feature requests for things that would have made your life easier on this project?
Most of the things that I can think of at the moment are related to Maya only. Just to mention one thing that concerns lookdev workflow a lot would be the possibility to quickly copy and paste nodes in the shading tree.
How big was the render farm and what were your render times?
We split the teaser shot into two main passes, the character and the studio set. The studio was a bit heavier to render since it always covered the whole frame and there was a lot going on. It took around 85 minutes to get a single 2k image (plus 75px overscan) on average. The character on the other hand was lighter, mainly because most of the time it covered fewer pixels. Still, the close-up shot took about 75 minutes on average, whereas a full body shot took around 40 minutes.
Our render blades had up to 128GB of RAM. The majority of the team had the privilege to work on workstations containing 24 cores/48 threads with 128GB of RAM. There were even some working with 56 threads but with 64GB of RAM. In addition to that, all the workstations were also part of the render farm. However I didn't really want to use these beasts as a benchmark for our scenes. Since most of the blades on the farm had between 12 and 24 cores, I had to make sure that those could render the shots as well in a reasonable amount of time. I don’t remember the total amount of cores available on our farm, but since there were other projects rendering at the same time we had to constantly share the farm as efficiently as possible. For Creature Pinup we had around 80 render clients assigned.
What version of Arnold and MtoA did you use for this film?
MtoA 22.214.171.124, using Arnold core 126.96.36.199. I believe we started off with MtoA 1.2.7, but since we were still in an early stage of production, it was safe to upgrade.
Have you had a chance to try Arnold 5.0? What are some of your favorite new features?
Unfortunately not. I installed it just after we delivered the project but didn’t really have the time to play around with the new features and shaders. Still, because I was very curious to try it out myself, I couldn’t resist rendering some very simple scenes to check out the new improved sampling. I am really excited and looking forward to rendering a project with Arnold 5.