Blender Studio
  • Films
  • Projects
  • Training
  • Characters
  • Tools
  • Blog
  • Join
  • BLENDER.ORG

    • Download

      Get the latest Blender, older versions, or experimental builds.

    • What's New

      Stay up-to-date with the new features in the latest Blender releases.

    LEARNING & RESOURCES

    • Blender Studio

      Access production assets and knowledge from the open movies.

    • Manual

      Documentation on the usage and features in Blender.

    DEVELOPMENT

    • Developers Blog

      Latest development updates, by Blender developers.

    • Documentation

      Guidelines, release notes and development docs.

    • Benchmark

      A platform to collect and share results of the Blender Benchmark.

    • Blender Conference

      The yearly event that brings the community together.

    DONATE

    • Development Fund

      Support core development with a monthly contribution.

    • One-time Donations

      Perform a single donation with more payment options available.

Training Highlights
Stylized Rendering with Brushstrokes
Geometry Nodes from Scratch
Procedural Shading Fundamentals
Stylized Character Workflow

Training types
Course Documentation Production Lesson Workshop

Training categories
Animation Geometry Nodes Lighting Rendering Rigging Shading
Film Highlights
Wing It!
2023
Charge
2022
Sprite Fright
2021
Spring
2019
Project Highlights
Project DogWalk
Interactive
Gold
Showcase
BCON24 Identity
Showcase
Fighting with Grease Pencil
Article
  • DOGWALK

Character Rigging for Project DogWalk

Hjalti goes over the process of rigging the main characters for Project DogWalk.
  • Article
  • 29 April
  • 6 min read
  • 1 min watch time
Hjalti Hjalmarsson
Hjalti Hjalmarsson Animator & Rigger
Report Problem

For the 'Project Dog Walk' game I was tasked to create "layout rigs" for the characters that would be used for pre-production. Now, I must confess, I had never rigged for a game project before; which guaranteed that this would be an interesting learning experience with plenty of bumps on the road. Here's what the character designs looked like in those early stages of the project:

Layout models of Chocomel and Pinda.
Layout models of Chocomel and Pinda.

Since the rigs were only for the pre-production, the pressure wasn't as high and I could rely on my previous rigging experience and create light-weight rigs from scratch. Here's some of the limitations and goals I had to keep in mind:

  • Don't use bendy bones: Godot doesn't support them, a workaround with simpler bones might be needed.
  • Special "Godot bones" are needed: A few extra bones designated as "Godot bones" will be needed and only used on the Godot side. These bones should be hidden from the animators and not receive any animation. E.g. Pinda's left arm will have an extra bone so the arm can swivel around in Godot to follow the pulling of the dog leash.
  • Pinda's mouth always facing the camera: In this papercraft art style, Pinda's mouth needs to always be orienting itself towards the camera. This will be especially tricky since the calculations for this will need to also depend on whether or not the hinge option is being used. This feature will furthermore need to have a limit so it doesn't go all the way around the head.
  • Special camera rig that connects to Pinda's rig: A special camera rig needs to be made that can easily hook up to Pinda's rig and visualise the mouth rotation as we will see it in the game.
  • Chocomel's "skirt" design: This papercrafty part of the character design needs to follow the body but each stream of paper needs to also be adjustable for the animator.

Here's the light-weight layout rigs I made for the characters:

Layout rigs for Chocomel and Pinda.

Overall the layout rigs worked as intented and there were only minor tweaks needed. They were of course based on early character designs which had since evolved further. Here's the final character designs, modelled and surfaced:

Final design models of Chocomel and Pinda.
Final design models of Chocomel and Pinda.

At this point, it became clear that because of scheduling I would be tasked to create the final production rigs. Gulp. The pressure was on. And since the layout rigs seemed to work pretty well so far we could save time by basing the final rigs on them. Furthermore, if I managed to make the layout rigs and final production rigs more-or-less compatible then we could also re-use a lot of the preliminary animation that had been done so far. This meant I would be beholden to certain decisions and design choices made early on when I knew less about Godot and how it works with rigs - but in these circumstances there's always a trade-off. Here's the final version of the production rigs, which include additional feature requests:

Final version of the rig for Chocomel.

Final version of the rig for Pinda.

The production rigs worked surprisingly well but of course there were some unforeseen bumps in the road. Each issue required a non-destructive solution that was backwards compatible and quickly implemented so that the production could keep going. To give some examples, here's the three biggest ones:

Deformation bone hierarchy issues causing glitches.

Deformation bones needed to be in a direct hierarchy.

Once the animation has been exported from Blender, it's completely baked down by the time it's in Godot. That means that when animations (or poses) would need to be dynamically blended together, it became very important that the deformation bones were all in a direct hierarchy, to avoid weird artifacts or segments of poses getting misaligned. When rigging for an animated film this is not really an issue and there can be very good reasons why you'd want your rig not conform to a strict direct hierarchy, like when you want to add a simple hinge or an IK setup. Fixing this ended up being a bit tricky because I needed to come up with a solution that was non-destructive to what was already there and this was needed for every single hinge and IK. But I love a good puzzle!

Lack of extra prop bones causing misalignment during constraint switching.

Props needed their own bones in Pinda's rig.

Usually for an animated film, every prop has their own rig and as characters pick up and drop down props they simply get a copy transform constraint which we toggle on and off on a single frame, tailored for each shot. In this project, the props needed to get a copy transform to a specific bone on character's rig which would be used for the entire performance so it could easily be triggered on the Godot side at the start of the animation and then the baked animation on that bone would take care of the rest. In this case the Pinda character is constantly interacting with various props and many of them might already be "attached" to Pinda. So the solution was to just add bones for all these various props in Pinda's rig. It wasn't super elegant but it got the job done and we could just add these bones as the project went along without it accidentally interfering with anything we had previously made.

Scaling issues causing Chocomel's toes to malfunction.

IK stretching caused inherited scaling issues.

We were pretty late in the project when suddenly we noticed that Chocomel's toes extending like crazy in the animation where Chocomel wakes up and stretches their legs. It was caused by the IK legs stretching really far, Godot interpreted it as the bone being scaled, which in turn was inherited down the hierarchy to the toe bones, resulting in scaled up toes. Why did this problem not show up before? We had simply not had any animation at that point that required the IK legs to stretch so far. The solution was to replace the stretched bone with two bones on each end, giving both a tracking constraint so they always point at each other and divide the weight painting between the two of them. And in the interest of time/resources, this fix was only applied to the elements causing problems: Chocomel's forelegs and Pinda's arms.

Conclusion

Overall I'm quite happy with how these rigs turned out. There were lessons learned, of course, and in hindsight I would make a bigger emphasis on separating the deformation bones and only use the "two tracking bones" solution instead of any IK stretching. But you know what? The rigs work! Here's some animation I made using them:

Animation of Chocomel and Pinda.

And here they are in the game:

Gameplay from the early access version.

Hope this shines a bit of light on the rigging side of the project and I hope you enjoy the game when it releases!

Join to leave a comment.

4 comments
Alex Dumproff
Alex Dumproff
May 20th, 2025

Interesting to read about this. I've been having the problem with the clean hierarchy in a Unity project a few years ago. My solution was to have a secondary bind rig that contained only the hierarchy of bones. These bones then followed the DEF- bones from the rigify rig. Which also had the side effect that in theory the driving rigify Rig could even be a different, more complex one, but since the bone hierarchy would then only follow selected bones the result could still be interchanged in the engine.

For rigify or other future Geonodes solutions it would be awesome if there was an automated way to generate a separate bindrig from the poserig from a script. It makes exporting a lot more stable and easy and keeps the rigging and animation problems neatly separated on the Blender side.

Love how the animations turned out. They look super good in the game and have a very unique feel to it. A style not seen too often in current games. :)

Daryl Vincent
Daryl Vincent
May 18th, 2025

This is an awesome resource, thank you for sharing! I'm currently making a stylized game in Godot as well so this is a good reference!

Juan Gabriel Carreño Novillo
Juan Gabriel Carreño Novillo
May 16th, 2025

Looks so good!!

FaPhenbach Phenbach
FaPhenbach Phenbach
April 29th, 2025

Can you share the model of the pen display and stand Pablo is using? I like how the keyboard nicely fits under the stand.

Films Projects Training Blog Blender Studio for Teams
Pipeline and Tools
  • CloudRig
  • Blender Kitsu
  • Brushstroke Tools Add-on
  • Blender Studio Extensions
Characters
  • Mikassa
  • Whale
  • Ballan Wrasse
  • Snow
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
Blender Studio

The creators who share.

Artistic freedom starts with Blender The Free and Open Source 3D Creation Suite