Home Technical Talk

Why do game engines have a root bones in character skeletons?

Hi,

I'm (somewhat) educated in character rigging and animation, but coming from the animation/vfx world. When I see a game character rig, I'm just wondering why there are coming bones from the world origin?

In animation (as far as I know), skeletons look basically similar to this:

In games, they allways have those weird bones from the origin:

Why do games need a root joint? When I animate in maya, I don't need a root joint, so why in Unreal Engine?

And I figured out that those other bones from the world origin seems to be about IK. Are those Unreal's / Game Engine version of IK solvers? I'm confused, because in Maya I would have a totally different IK setup, without any bones coming from world origin? And why is the IK of one arm parented to the IK of the other arm? *confusing*

Maybe someone can give me some answers.

sorry for those basic kind of questions. :D


Seeya,

Micha

Replies

  • Tiles
    Offline / Send Message
    Tiles interpolator

    Every skeleton has a root bone. The root bone is simply the first bone in the hierarchy. It can be a bone that is not weighted to the mesh. In this case you can use it as the origin, to manipulate the rotation of the rest of the skeleton by keyframes at the skeleton for example. That a extra root bone gets added automatically in some game engines at import could have exactly this purpose. To modify the translation and rotation of the whole skeleton. But it can also be a hip or a back bone, and weighted to the mesh.

  • killnpc
    Offline / Send Message
    killnpc polycounter

    the root bone anchors its hierarchy to a location in the game space. input transforms the object's position and visually triggers a corresponding animation overtop for effect.

  • pior
    Offline / Send Message
    pior grand marshal polycounter

    Heya -

    The UE4 (and to an extent UE5) setup is to be taken with a massive grain of salt. For instance, the pseudo "IK bones" (for ankles and wrists, with their very odd parenting) are mostly to be ignored because for a modern project, because an animation system needing IK (for instance for interaction with the world) wouldn't actually need these bones as the IK setup could very well be done programmatically with various proxy locators/empties that are not part of the skeleton itself.

    My bet would be that this is simply a legacy setup, dating back to a time when the engine was limited in its animation tools and didn't have sockets for instance.

    Also and ironically, these legacy/mostly useless joints are now being used again by the engine as they serve as anchor points for the new live retargeting system allowing to port animations assets back and forth between the UE4 and UE5-style skeletons.

    Overall, the takeaway is to never take anything as face value when it comes to game assets. Half of the time the reason for something to be there is simply because it was too late in production to get it removed.

    That said and practically speaking, if you are indeed authoring animation for UE4, having the pseudo "IK bones" follow their intended locations (locked to the wrists and ankles) is a good idea or even a requirement, because as said some users might need it for retargeting. So the key really is to understand in which context these seemingly odd things may be useful and needed.

  • rollin
    Offline / Send Message
    rollin polycounter

    We use this to determine the actual floor position of the setup as this does not show out of the other bones except you define it purely by definition to be x-units below your what-ever-root-like-hip-or-something

    There exist games where the root is actually the height of the pivot and not on the floor (I think Metal Gear Solid 5 has this setup for instance) so there are always different approaches possible.

  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter

    I was using unreal back when it was version 2.0. Sockets existed in the engine back then. And the base skeleton didn't look like this. It had no twist bones - for example.

  • pior
    Offline / Send Message
    pior grand marshal polycounter

    Heya - this actually lines up with what I remember from back then too (2 or 2.5, not sure). So then ... the plot thickens !

  • Leinad
    Offline / Send Message
    Leinad polycounter lvl 12

    If you're able to transform a rig character globally, then it has some sort of "root"/parent.

    The root joint setup in the image you posted seems good to me. That's where I'd expect the global transform pivot to be.


    I do agree, the ik setup visual graphics in engine looks quite odd when seen for the first time (especially for a Maya users like myself). It almost looks like the right hand ik drives the left hand.

    You don't have to set up the ik joints this way when designing a new rig system/setup. It's all visual representation of code, there is no right or wrong way to do these kinds of things so long as the end results works.

Sign In or Register to comment.