Announcement

Collapse
No announcement yet.

Pelvis scale problem when sharing animation between 2 skeletalMesh with the same skeleton.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Pelvis scale problem when sharing animation between 2 skeletalMesh with the same skeleton.

    I want to build a rig for the default SK_mannequin in 3DS max.
    To do so, I export the SK_mannequin from UE4 at FBX format.
    I open the FBX in 3DS max and replace each dummy import from the FBX by a 3DSmax bone with the same name.
    I rebuild the hierarchy and remake the skin on the mesh.

    Click image for larger version

Name:	human_Skeleton_problem_01.gif
Views:	1
Size:	67.6 KB
ID:	1224578

    The result is the exact same mannequin, but each FBX bone has been replaced by a 3DS max bone.

    My purpose here is to make my own custom animation in 3DS max and use it with any SK_mannequin skeleton compatible mesh.
    By building my custom skeletal mesh on this skeleton in 3DS max, I will be able to use any animation using the SK_mannequin skeleton.
    In short, I want to build my own 3DS max tool for the UE4 standard skeleton.


    Once done, I export my new skeletal mesh (my_Custom_SK) in FBX format from 3DS max, with the new skeleton made with bone.
    I import this in UE4 and, at the import step, I set my_Custom_SK to use the SK_mannequin skeleton and physicAsset.
    Everything's fine at this stage.
    The import is an success and if I put one instance of my_Custom_SK near an instance of SK_mannequin, they seams identical in A-pose.

    My problem appears when I try to apply an animation to my_Custom_SK.

    As the 2 SK shares the very same SK_mannequin_skeleton and SK_mannequin_physicAsset, I can apply any animation build for SK_mannequin to my_Custom_SK but when I do that, my_custom_SK become suddenly a lot smaller !

    Click image for larger version

Name:	human_Skeleton_problem.gif
Views:	1
Size:	283.8 KB
ID:	1224579

    After some research, I found that the pelvis bone is scaled by a factor of 2.5.
    Or, in other words, when I adjust manually the scale of the pelvis bone (by setting its scale to 2.5 in each axe), my_custom_SK retrieve his natural proportions (almost).

    When I look at my skeletal mesh in persona, I can see that the root bone is not scaled and that's why my skeletal mesh is walking so high and also why the IK bones are not affected by this problem.
    It's only the pelvis that receive an odd scaling process.
    The other bones are not scaled nether because the Skeletal Mesh keeps his proportion (but smaller).

    Click image for larger version

Name:	human_skeleton_problem.jpg
Views:	1
Size:	14.0 KB
ID:	1224577

    Does anybody had an idea why the pelvis bone is scaled down while i use the same animation on the same skeleton but with different skeletalMesh ?
    Sauvage's twitter - #freeNeoFur

    #2
    Sorry for the double post, I have a new picture to upload

    By looking at my skeleton, I figure something that has to be significant :

    In the animation previewer, I can look at the skeleton tab and if I select the root bone, I can see that it has a "reference Scale" set at 2.54.
    It's almost the number I found as the factor of the scaling of the pelvis bone.
    I see the link between these facts

    Click image for larger version

Name:	human_skeleton_problem_02.jpg
Views:	1
Size:	74.0 KB
ID:	1130407

    By looking at the SK_mannequin_skeleton, witch is used by the 2 SkeletalMesh, that's what I see by selecting the root bone :

    Click image for larger version

Name:	human_skeleton_problem_03.jpg
Views:	1
Size:	42.7 KB
ID:	1130408

    In the skeleton, the root bone has a 2.54 scale factor in each axe.
    I try to set that to 1 but when I change these value, it's a mess !
    Every time I click on a box to set a value, the other value change in a very erratic way.
    I finally was unable to set the scale of the root bone in the SK_mannequin_skeletal... The only way to return at the initial 2.54 value was to undo the changes I made because every time I change a value in an axe, the other axes change too into any random value.

    I know that every things are linked !
    The truth is certainly somewhere but I can't see it...
    Do you ?
    Last edited by JoGoiA; 06-29-2017, 12:34 AM.
    Sauvage's twitter - #freeNeoFur

    Comment


      #3
      Make sure that NOTHING is scaled in your 3D app.
      Everything has to have a scale of 100% or 1.0

      Comment


        #4
        Originally posted by JoGoiA View Post
        Sorry for the double post, I have a new picture to upload

        By looking at my skeleton, I figure something that has to be significant :

        In the animation previewer, I can look at the skeleton tab and if I select the root bone, I can see that it has a "reference Scale" set at 2.54.
        It's almost the number I found as the factor of the scaling of the pelvis bone.
        I see the link between these facts

        [ATTACH]146690[/ATTACH]

        By looking at the SK_mannequin_skeleton, witch is used by the 2 SkeletalMesh, that's what I see by selecting the root bone :

        [ATTACH]146691[/ATTACH]

        In the skeleton, the root bone has a 2.54 scale factor in each axe.
        I try to set that to 1 but when I change these value, it's a mess !
        Every time I click on a box to set a value, the other value change in a very erratic way.
        I finally was unable to set the scale of the root bone in the SK_mannequin_skeletal... The only way to return at the initial 2.54 value was to undo the changes I made because every time I change a value in an axe, the other axes change too into any random value.

        I know that every things are linked !
        The truth is certainly somewhere but I can't see it...
        Do you ?
        Easiest way to fix it. open another program, and select migrate, or.
        Just export the mesh and skeleton as fbx. You can rename it if you like. Whatever.
        Scale it to the scale you want, and then export send to unreal. re import. Done.
        I have exported sk mannequin. and i use it as reference for other char.
        I simply selected the mesh only, and clicked duplicate. Then i have a mannequin. skin only no skeleton for reference size in my software.
        As maya, blender end up with different results in size when importing to ue4.
        For example. I have a modular building that says its 343mm in size in maya, and when brought into ue4 it says something like 267. from blender it's correct. So?
        I wish every software would do the same as its annoying already. Everything in the known world is "Z UP" except some programs force y.
        Before 3d modelling existed everything was Z up. Cnc's were z Up. Unless they were horizontal. which would make them "horizontal."

        Comment


          #5
          It looks like you've found this bug: https://answers.unrealengine.com/que...to-1-in-a.html

          Comment


            #6
            Originally posted by Raildex_ View Post
            Make sure that NOTHING is scaled in your 3D app.
            Everything has to have a scale of 100% or 1.0
            Of course, it's the first thing I tried

            Originally posted by cyaoeu
            It looks like you've found this bug: https://answers.unrealengine.com/que...to-1-in-a.html
            The skeleton root bone has 100 scale in the skeleton view.
            The skeleton root bone has 1 scale in the animation view. This is a bug, it should be set to 100 like in the skeleton view. Because of this the animation is tiny.

            It's exactly my problem !
            But I work with 4.15.2 version of UE and as I use the exact same skeleton, I had no "Imported bone transform" error. I just use the SK_mannequin skeleton.

            Did you find a workaround ?

            I didn't know where my original 2.54 scale on root come from...
            When I open a brand new project and check the bones's scale inside the SK_mannequin skeleton and every bones are 1.0 scaled.

            So, I restart at the beginning...
            I clean every file from my project (mannequin and my_custom).
            I migrate the original SK_mannequin from a new TPP project.
            I check the scales for bones in the new SK_mannequin skeleton and they are all set at 1.0. Perfect !

            I import my_custom_SK and boom, the root bone in the UE4_mannequin_Skeleton is now set at 2.54 scale...
            Last edited by JoGoiA; 06-29-2017, 12:09 PM.
            Sauvage's twitter - #freeNeoFur

            Comment


              #7
              Originally posted by JoGoiA View Post
              Of course, it's the first thing I tried



              The skeleton root bone has 100 scale in the skeleton view.
              The skeleton root bone has 1 scale in the animation view. This is a bug, it should be set to 100 like in the skeleton view. Because of this the animation is tiny.

              It's exactly my problem !
              But I work with 4.15.2 version of UE and as I use the exact same skeleton, I had no "Imported bone transform" error. I just use the SK_mannequin skeleton.

              Did you find a workaround ?

              I didn't know where my original 2.54 scale on root come from...
              The workaround is to make sure you haven't got scale on the root for now. I think you're using inches in Max, you should replace that with centimeters.

              I hope this gets fixed sometime though, because without it you can't use Blender default settings and get usable results in UE4.
              Last edited by cyaoeu; 06-29-2017, 11:50 AM. Reason: English

              Comment


                #8
                Originally posted by cyaoeu View Post
                I think you're using inches in Max, you should replace that with centimeters.
                You're right ! I will try to check the unit problem.
                I just google inch / cm and guess what ? 1 inch = 2.54 cm !!!

                Click image for larger version

Name:	5104CPAGKFL._AC_UL320_SR214,320_.jpg
Views:	1
Size:	18.1 KB
ID:	1130424
                Sauvage's twitter - #freeNeoFur

                Comment


                  #9
                  Youhou !
                  Click image for larger version

Name:	human_skeleton_success.jpg
Views:	1
Size:	21.0 KB
ID:	1130489

                  I finally had to rebuild the whole skeleton in a new 3DSmax file... 3DS is a great software but it's a mess coming to unit conversion.
                  There's 3 settings to perform to get a coherent unit system !

                  Click image for larger version

Name:	3DSmax_unit.jpg
Views:	1
Size:	86.2 KB
ID:	1130490

                  Thanks to all of you and even more to cyaoeu who helped me so efficiently !

                  <TROLL>
                  Who the hell is still using body parts to measure the size of things ???
                  </TROLL>
                  Last edited by JoGoiA; 07-01-2017, 01:19 PM.
                  Sauvage's twitter - #freeNeoFur

                  Comment

                  Working...
                  X