Home Unreal Engine

Hand problem

node
Offline / Send Message
Summer18 node

Hi. I made weights and skinned the model in Maya to the standard Unreal Engine skeleton. Then I imported it into Unreal Engine, now the arms are too close to the torso. Here's a comparison of what a standard mannequin run animation looks like and my mesh. Can you please tell me where I could have made a mistake?


Replies

  • Fabi_G
    Online / Send Message
    Fabi_G high dynamic range

    Curious, looks like shoulders are rotated on the custom mesh.

    Did you export the mannequin from your unreal project and skinned to that (to ensure skeletons are identical)?

    Are the proportions of the custom character the same as unreal mannequin, or did have to modify the skeleton?

    When creating character modules, I transfer skin weights from existing characters to new modules for testing with existing animations and this works fine.

    If you attach your mesh, I can check on my side.

    Good luck!

  • RocketAlex
    Offline / Send Message
    RocketAlex polycounter lvl 6

    Just as a version, but I can't remember for sure:

    Check the skeleton's retargeting options if affected bones are set to "Animation" or "Skeleton". This is a tad guesswork, I had the same troubles long ago.

  • Summer18
    Offline / Send Message
    Summer18 node

    Fabi_G I didn't rotate the bones, but moved them with Maya's Move tool to fit the skeleton into the mesh, since the mesh's proportions are slightly different. Yes, that's right, I exported the standard skeleton from Unreal engine. I tried changing the weights in the mesh to different ones, but that didn't fix the problem. Thank you very much, I'll be very grateful if you check my mesh and skeleton)

    RocketAlex I don’t know how to do retargeting, but I saw some videos on youtube where it seems that there should be different skeletons in order to do retargeting, for example, Mixamo skeleton and the standard Unreal engine skeleton. I did not find video where they do retargeting with one skeleton. So I use this method for testing:

    In my case, can I somehow do retargeting and will it help?

  • Fabi_G
    Online / Send Message
    Fabi_G high dynamic range

    Could be related to this rotation difference in the rest pose, but don't know yet what options to fix it, bit out of my depth on this topic. Probably one solution is matching original rotations in skeleton. Probably could import as new skeleton and retarget animations, but that looks like more work long term. Or maybe there is one checkbox as there is so often in unreal :)


  • Summer18
    Offline / Send Message
    Summer18 node

    Fabi_G Thank you very much, I will try to do as you said, please let me know if you find this checkbox :)

  • Fabi_G
    Online / Send Message
    Fabi_G high dynamic range

    Oh hey, I tested some more and would say if you want to match the existing skeleton to your custom mesh, I would mainly rotate the joints and only translate in a way that the previous joint still points towards the one below in the hierarchy (aka on forward axis of parent joint, -X for Unreal if I'm not mistaken).

    With your modified skeleton, I found that the shoulder rotation is the same as with the original unreal skeleton, the forward axis not pointing towards the next joint, therefore creating an offset.

    Modifying the skeleton this way (and applied to geometry) I made this test, lowering arms and changing proportions and it seems to be working fine.

    Playing around, I found that changing the "Additive settings" from "no additive" in the animations gives me different results with your skeletal mesh. But I don't know what exactly is happening here, best to check the docu before relying on something like that. If I had to do a task like this, I would probably adjust the skeleton as described above. Unexpected results, wouldn't use


  • Summer18
    Offline / Send Message
    Summer18 node

    Fabi_G Thank you, but to be honest, I still don't understand what you are talking about here: "the forward axis not pointing towards the next joint, therefore creating an offset" Can you take a screenshot with my corrected skeleton and mesh, or pin my mesh with correct skeleton here, please)

  • Fabi_G
    Online / Send Message
    Fabi_G high dynamic range

    The main thing I want to communicate: in a joint hierarchy like arms, I would make sure the joints are pointing towards their child joint (with their forward axis).

    I don't use Maya and Blenders coordinate system is different, therefore I don't know how to edit the unreal skeleton precisely in Blender. But I will do some rough edits and then hopefully you can compare the joint orientations.

    Here attempt to describe what I did with screenshots. Don't be confused how the bones visually point in the wrong direction (I think that's due to different axes between Maya and Blender):

    Current situation (screenshot from front):


    My rough Modification:

    results in engine:

    PS: If you use the edited mesh in Unreal, I recommend to use the original physics asset as I didn't look into the units settings which might affect generation. (Especially with skeletal meshes, I think it's apparent the pipeline was developed with Maya)

  • Summer18
    Offline / Send Message
    Summer18 node

    Fabi_G I think now I understand what you mean. I'll try to correct directions. Thank you very much for everything Fabian)

  • Fabi_G
    Online / Send Message
    Fabi_G high dynamic range

    Cool 👍️ Probably there is a function in Maya to set the joint orientation for chains (maybe this). Good luck!

Sign In or Register to comment.