Website powered by

Tempo and Birdie

Our lovely little dancing robot, Tempo, and our beloved Birdie from our short film, Lost Track. This is a deep dive into the process of making the both of our characters, including process, collaborative changes, and some insightful feedback to really make our characters come to life!

I was in charge of character modeling and lookdev/groom for this project, and I worked alongside some amazing artists. Everyone's credits and websites are listed here for you to check out their amazing work!

Luna McKee (Concept Art, Co-Director)- https://lunamckee.myportfolio.com/
AJ Almeida (Concept Art, Co-Director)- https://www.ajalmeidaart.com/
Melissa Weigman (Rigging)- https://mweigman.wixsite.com/weigmanimations
Sabre Scott (Animator, Tempo Face Setup)- https://sabrealexanderscot.wixsite.com/sabre
Soda Unveren (Animator)- https://sodapopanimationst.wixsite.com/sodapop-animations
Lydia Monzo (Animator)- https://lydiamonzo.wixsite.com/lydiamonzoart
Yilan Zhang (Animator)- https://zrebecca219.wixsite.com/my-site
Kate Meine (Lighting)- https://www.artstation.com/katemeine
Kaitlyn Pinilla (Modeling/Lookdev)- https://www.linkedin.com/in/kaitlyn-pinilla/

To my team- thank you for all of your hard work, it's been such a joy and an honor to work alongside you! <3

And a shoutout to Iowa Bird Rehabilitation, if you’re curious about the work they do, please check them out here! https://www.iowabirdrehab.org/about.html

A little snippet from our film, with our characters animated and lit! This post is going to be a deep dive of how we got from concept to final renders. I’m responsible for the characters’ models and lookdev/groom! Let’s dive in!

    Birdie went through many iterations! The top image is the original design! After rigging, the textures and colors were changed to resemble those of a northern parula. The drawings are by our concept artist and co-director, AJ!

Birdie went through many iterations! The top image is the original design! After rigging, the textures and colors were changed to resemble those of a northern parula. The drawings are by our concept artist and co-director, AJ!

From the beginning, our rigging artist, Mel, and I went back and forth for proper foot topology and a clean layout of the feathers to make rigging as easy as possible.

A particular challenge with an injured bird is getting the right reference images. That is, until I got in contact with Iowa Bird Rehabilitation, and its Executive Director, Dr. Jenni Boonjakuakul, with whom we got to speak with about injured birds.

A particular challenge with an injured bird is getting the right reference images. That is, until I got in contact with Iowa Bird Rehabilitation, and its Executive Director, Dr. Jenni Boonjakuakul, with whom we got to speak with about injured birds.

Dr. Boonjakuakul was kind enough to send us photos of birds with injured feet! I used these as reference for the injury wear, and color variation within a bird’s foot, and our animators got movement reference from her.

Dr. Boonjakuakul was kind enough to send us photos of birds with injured feet! I used these as reference for the injury wear, and color variation within a bird’s foot, and our animators got movement reference from her.

We really wanted to sell the look of the foot, especially in closeups, so in addition to hand painting, the high poly foot was sculpted in Zbrush.

We really wanted to sell the look of the foot, especially in closeups, so in addition to hand painting, the high poly foot was sculpted in Zbrush.

There are various grooms for our bird to have a variety of clumping. To attach our groom, I exported the alembic curves from Houdini and edited the hairs in Unreal, giving our bird a disheveled, but soft and cute look.

There are various grooms for our bird to have a variety of clumping. To attach our groom, I exported the alembic curves from Houdini and edited the hairs in Unreal, giving our bird a disheveled, but soft and cute look.

The groom relies heavily on the bird’s body base color, but there’s additional nodes for highlights and darker strands mixed in the fur, dependent on location from root to tip.

The groom relies heavily on the bird’s body base color, but there’s additional nodes for highlights and darker strands mixed in the fur, dependent on location from root to tip.

Tempo also took a great number of collaborative iterations. In the modeling stage, I went back and forth with our concept artist and co-director, Luna, and our animators, to ensure we’d get all the functionality out of Tempo possible.

Tempo also took a great number of collaborative iterations. In the modeling stage, I went back and forth with our concept artist and co-director, Luna, and our animators, to ensure we’d get all the functionality out of Tempo possible.

He was modeled during the story planning stage, so he had to accommodate various story changes- whether his cassette was in him at all times, or if he’d need a spacious interior for one of our old plotlines where the bird makes a nest in his tummy.

He was modeled during the story planning stage, so he had to accommodate various story changes- whether his cassette was in him at all times, or if he’d need a spacious interior for one of our old plotlines where the bird makes a nest in his tummy.

Changes from his original concept also include switching his button and volume positions to fit his cassette tape in and making the way his tummy opens truer to a real cassette player.

At the start, the style guide called for stylized textures like these. Though we moved towards a more realistic material, in Substance Designer, I built a procedural base color/rough material that would provide a similar base color jitter effect.

At the start, the style guide called for stylized textures like these. Though we moved towards a more realistic material, in Substance Designer, I built a procedural base color/rough material that would provide a similar base color jitter effect.

This is a demo of the material. Since we wanted it to feel more realistic, the default values are subtle in the HSL sliders, but it was built so I could push it to any value I needed!