Doll Story
Doll Story is a SCAD student film that was released in Spring 2019 and created in the span of one school year, or 9 months. It is created and directed by Zandria Ross. The film is the twisted story of an evil family of dolls who kidnap their owner’s dog. To know more information about the film, and those who worked on it, go to Zandria’s website here. The film was nominated for the Grand Jury Award for Best Animated Short, and the Special Jury Award and Audience Award for Best Short Film at the Florida Film Festival.
I am directly responsible for 10 shots, seen above, as well as render wrangling 5 others, and texturing other rooms and props. For the 10 shots I was responsible for, I textured the whole room, with the exception of the pill bottles, textured the mother’s dress, and I did all of the lighting, rendering, and compositing.
Breakdown
Texturing
Above is a compilation of everything I textured for Doll Story. They include: the master bedroom, the dog’s cage, the girl’s bedroom, the mother’s dress, and almost all of the character props.
Below are the texture references I had for these assets:
Master Bedroom
Dog’s Cage
Girl’s Room
Props
Lighting
The picture above shows my master lighting setup for the master bedroom. It includes an HDR to light up the outside (and therefore show something through the window), a spotlight for the moon, with an atmospheric gobo on it to create moonbeams, a fill light for the room, lights for the lamps and hallway, and a few fill lights for the overly dark areas, such as in front of the bed. Each shot had shot lighting as well, which consisted of spotlights for highlights and rim lights on the characters.
Below shows the very first pass of my lighting for these shots. My feedback was that it was too dark; I was also told to bring in dark blue to give the shot more interest and life. I was also told to add moonbeams, to see if that would look nice. Additionally, I was given a few reference images from movies that utilized a blue and orange color scheme, so I matched my shots to that to the best of my abilities.
Lighting First Pass
Reference Images
Troubleshooting
We encountered several problems while working on this film. They mainly include noise issues and getting the alembic files to render.
Noise
Like any film or show with CG rendering, noise is always an issue. Of course, I had issues with noise, particularly since my shots took place at night, resulting in a lot of shadow noise. I resolved those issues as I would normally-increasing samples, increasing light samples, breaking my scene into render layers, to allow for more precise fine tuning of samples, rendering out AOVs, and denoising the noisy AOVs in Nuke. However, a unique noise issue I faced was with the character’s hair, particularly the mother’s.
I never had to render hair prior to Doll Story, and it posed a challenge. The hair was incredibly noisy, particularly in specular noise, and produced both regular noise and fireflies. Increasing Specular samples helped a bit, but I had to be careful to increase them too much, or else my renders would run over my school’s 2 hour render limit. Below is an example image of some of the noise:
Of course, denoising in Nuke is always an option, but the level of denoising this would require would end up completely blurring the hair, which would look bad. Eventually, my teammates and I figured out important details on how to render hair as noise-free as possible! First: increasing the Diffuse, Specular, and, mainly, Camera (AA) samples help denoise hair. Next, increasing the Ray Depth samples, particularly the Specular Ray Depth samples, also helps. Then, the hair shader, under advanced options, has “Extra Samples”. Increasing that also helps denoise hair. Finally, for an extra measure, I put the hair on its own render layer, so that I could increase the samples quite a bit, and not run the risk of my render running over 2 hours. Below is an image showing noise-free hair using these methods:
Rendering Alembics
Our biggest issue was how to render alembic files on our school’s RenderFarm. This was crucial, because all of the animation was an alembic, including all of the simulations (hair, cloth, water, destruction). We would import our alembics (and correctly, through Cache-Alembic-Import Alembic), and we triple-checked to make sure that the alembic file paths were relative before sending the scene to our school’s RenderFarm. However, when the renders came back, anything that was an alembic file was gone. We found out that this was because Maya had a glitch that reset the file paths of alembics to be absolute whenever the Maya file was closed. However, we did not know how to change these back to relative. Therefore, we tried several work-arounds, including .fbx sequences, and rendering the animation from the rigged file used by the animator. Ultimately though, we absolutely needed to render alembic files, because we were given simulations as alembics, and had no workaround to change that.
We ended up figuring out how to edit the file path of the alembic files to be relative by editing the Maya scene’s code in Notepad ++. First, we had to make sure that the Maya file was a .ma, so that the code would be readable, and not in binary, like a .mb file saves as. Then, we right-clicked the Maya scene, selected “Edit with Notepad ++”, and used the program’s find and replace feature to change the alembic absolute files to be relative. After saving, we were able to send the scene to the RenderFarm, and render correctly. An example of this is shown in the image below:
Incidentally, we had this problem with .ies lights as well. The file paths of the .ies lights changed from relative to absolute upon saving and closing the Maya scene, and resulted in the .ies lights flashing in renders. This issue was solved the same way .
Floating Alembics
I also had troubles with alembics when a character was holding something. For whatever reason, whenever I imported an alembic of character animation with the character holding something (mostly a glass of water in my shots), the object in their hand (the glass of water) would not import with the character, but would appear very far away. It was not animated like this; the character props were animated with the character. The floating alembics issue can be seen in the picture below. In it, the white on the left is the mother, and the green in the upper right corner is the glass cup that is supposed to be in her hands.
No one, including myself, seemed to know why this was happening, or how to fix it. I ended up referencing in the character animation, and importing that reference into my scene. This somehow caused the character animation, and any props they held, to be imported correctly.
Bloopers
Above is a video that shows one of the many issues/bloopers of the film. There are many more, but they are not my own. This is one of the shots that I render wrangled, and it happened before we figured out how to get alembics to render on the school’s RenderFarm.
Watch Doll Story!
You can view the film here: