Home Technical Talk

What is the best way of rigging this mechanical object?

polycounter lvl 8
Offline / Send Message
CodeferBlue polycounter lvl 8
Hi Polycount. I'm very new to rigging and I've been looking around for a while now of techniques I can use to properly rig this machine I'm working on. I've found a lot of mixed information and I'm definitely doing things wrong. 

Here is the machine. For now just trying to work with one arm, will be adding 3 more once I know the workflow:

Once I've created the bones, painted the skin weights and created an IK, I get undesired results such as the hinges of the arm misaligning when the IK is moved:

Its not just the hinges, but all the parts misalign when the IK is moved.

Clearly I'm missing something and doing something wrong. So what would be the best way of approaching this? Appreciate any help. 

Replies

  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    I'm not a rigger by any means, but I believe via an IK rig, assigning joints too an armature (which I think is missing here) allows for control of parented constraints enabling animation as expected. Basics on how this would work, an example in Maya.
  • CodeferBlue
    Offline / Send Message
    CodeferBlue polycounter lvl 8
    sacboi said:
    I'm not a rigger by any means, but I believe via an IK rig, assigning joints too an armature (which I think is missing here) allows for control of parented constraints enabling animation as expected. Basics on how this would work, an example in Maya.
    Apologies as I don't fully follow what you mean by 'assigning joints to an armature'. I've watched the example video but still struggling to wrap my head around this. 
  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    'Joint', is just a Maya descriptive term denoting a 'pivot point' so might be helpful to clarify what you're using to rig the model for more specific advice.

    edit:
    Curious, if your base meshes are parented too the individual bones?
  • CodeferBlue
    Offline / Send Message
    CodeferBlue polycounter lvl 8
    sacboi said:
    'Joint', is just a Maya descriptive term denoting a 'pivot point' so might be helpful to clarify what you're using to rig the model for more specific advice.

    edit:
    Curious, if your base meshes are parented too the individual bones?
    Oh well its a single combined mesh with joints and I've painted skin weights. That's how Maya knows what geo is influenced by what joints. Previously I had all the arm parts separate and I tried parenting the objects to the joints which did what I wanted but I had a lot of trouble importing it into Unreal. 
  • 3DGolum
    I use C4D and Unity but the basic principles are the same. Separate the pieces and make sure their axis are facing the same direction and are snapped to their proper rotation points. I find it easier to apply the joints when the pieces/parts are in line and not bent in place. 
  • CodeferBlue
    Offline / Send Message
    CodeferBlue polycounter lvl 8
    3DGolum said:
    I use C4D and Unity but the basic principles are the same. Separate the pieces and make sure their axis are facing the same direction and are snapped to their proper rotation points. I find it easier to apply the joints when the pieces/parts are in line and not bent in place. 
    So should I not be painting skin weights to connect the mesh to the joints? Or am I able to paint skin weights on separate objects too? I did try having all the pieces of the arm separate and then parenting each piece to the specific joints but Unreal doesn't understand the parenting as its a Maya thing so when I export my model as FBX, everything comes as separate objects in unreal. 
  • 3DGolum
    Have you tried exporting as an obj sequence or an alembic file to bring into Unreal?
  • sacboi
    Offline / Send Message
    sacboi high dynamic range
    By the way were you following a tutorial, at least an authored complete informative workflow, from 3D app then export to engine?
  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter

    It looks like you're using maya. For a mechanical thing like this I don't paint skin weights for most of the mesh. You can instead assign weights using the attribute spread sheet. This is more exact as you can set the weights to be 100% to each joint where painting weights often leaves weights only 99% assigned to one joint. 
  • CodeferBlue
    Offline / Send Message
    CodeferBlue polycounter lvl 8

    It looks like you're using maya. For a mechanical thing like this I don't paint skin weights for most of the mesh. You can instead assign weights using the attribute spread sheet. This is more exact as you can set the weights to be 100% to each joint where painting weights often leaves weights only 99% assigned to one joint. 
    That is super interesting. Thanks a lot for this. 
Sign In or Register to comment.