Feature #664

Custom Rig with IK joints--Epic Games UE

Added by S_Alam (Forum User) about 4 years ago. Updated almost 3 years ago.

Status:AcceptedStart date:01/11/2015
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:MakeHuman 1.2.0

Description

I am a student working on a school project to integrate the make human software for our animation purposes. But I have a custom rig with very different set of hierarchy along with few IK joints. This rig conforms to a template rig used by a games company called Epic games. I want to make sure that these joints stay in the skeleton hierarchy and that during weight painting I also do not weight any part of my mesh to the IK joints. Out of the template rigs provided by the MakeHuman, the one that comes closest to my rig is humanik.json . I tried to change the names in the .json file to match it to the names of my rig using text editor, which effectively changed the names and now the exports from MakeHuman have the joint names of my custom rig, but it was not sufficient. How can I set the hierarchy and the IK joints ?? I looked around the forum and found there was a feature Makerig for custom rigs which is not available now. I have attached the .blend file and the .fbx file with mesh and armature. Can some one please help me ???

1Epic_Skeleton_Template.FBX (270 KB) S_Alam (Forum User), 01/11/2015 04:11 PM

MySkeleton.blend (1.46 MB) S_Alam (Forum User), 01/11/2015 04:11 PM

MakeHuman0.png (1.22 MB) S_Alam (Forum User), 01/12/2015 10:08 AM

MakeHuman1.png (1.09 MB) S_Alam (Forum User), 01/12/2015 10:08 AM

MakeHuman2.png (1.08 MB) S_Alam (Forum User), 01/12/2015 10:08 AM

Skeleton0.png (1.09 MB) S_Alam (Forum User), 01/12/2015 10:09 AM

Skeleton1.png (1.16 MB) S_Alam (Forum User), 01/12/2015 10:09 AM

Skeleton2.png (1.18 MB) S_Alam (Forum User), 01/12/2015 10:09 AM

screenshot_1_1421101745_MySkeleton.blend.png (42.1 KB) Anonymous, 01/12/2015 11:30 PM

screenshot_2_1421101982_pose_t.png (109 KB) Anonymous, 01/12/2015 11:34 PM

MatchingSkeletons.pdf (464 KB) S_Alam (Forum User), 01/13/2015 03:01 AM

screenshot_1_1421148972_collada-export-bug.png (275 KB) Anonymous, 01/13/2015 12:37 PM

ColladaExport.png (413 KB) S_Alam (Forum User), 01/13/2015 02:55 PM

screenshot_1_1431245143.png (372 KB) Rob Baer, 05/10/2015 10:05 AM

screenshot_2_1431246264.png (293 KB) Rob Baer, 05/10/2015 10:24 AM

screenshot_1_1431289355.png (150 KB) Rob Baer, 05/10/2015 10:22 PM

590
591
592
593
594
595
599
600
602
603
783
784
786

Related issues

Related to MakeHuman - Bug #642: FBX export broken in 1.1 (both binary and text) Fixed 11/29/2014
Related to MakeHuman - Bug #626: Second Life/Opensim rigging/exporting does not work corre... Rejected 11/03/2014
Related to MakeHuman - Bug #1017: Neck Bones - default and default no toes rigs New 04/23/2016

History

#1 Updated by Anonymous about 4 years ago

The skeleton system will be completely different in MH 1.1 (you can try it in nightly build).
If there are no copyright problems with Epic games, we can create an Epic-compliant skeleton to be added to our library.
Do you have some contacts with them?

#2 Updated by S_Alam (Forum User) about 4 years ago

1. This was an amazing response! Thank you Mr. Manuel Bastioni for such a generous response, you are awesome !!
2. Although I don't know if there are any copyrights issues, but I don't think so.
3. I am a student and a subscriber of Unreal Engine 4. I can try to contact them and see what they think. Mostly positive I suppose.
4. However, I just wanted this rig setup for my own project in Grad school, we are like 5 students doing a simple demo simulation of the agent based human interactions. This will ease up much of our animation workflow so so very much.
5. I am even willing to pay (something economical for me) for this special skeleton rig setup in the great MakeHuman software.

So let me know what you think. And once again thanks for such a prompt and generous response. This is such a great help.

#3 Updated by Anonymous about 4 years ago

In meantime you can try to use the new generic skeleton UE4 compliant. It's included in latest UNSTABLE nightly build.
Unfortunately the export in fbx and dae is still not perfect, but it should be enough to test the skeleton:
http://www.makehuman.org/content/download_nightlybuild.html

#4 Updated by S_Alam (Forum User) about 4 years ago

Dear Mr. Manuel,
I checked the new rig with the nightly build. It looks far better, however I think the clavicle bones are a little off (the Epic skeleton has bones at a higher position). I have attached the snapshots of animations that I was able to quickly make because of the complaint rigging already present. Even though there are still quite a few joints and IK_bones missing, which are necessary for many animations, overall the current animation looks far better. Also 1 more little request can you also set the default pose for UE4 skeleton to T-pose, since currently all MakeHuman models come out as A-pose. Manual pose editing can be erroneous for unskilled end user like me. When should I look out for a stable release with UE4 rig in it by your estimation ?
And thank you very very much for such prompt follow up. You are truly amazing !!! I am very grateful.

P.S: I get exceptions with the unstable builds in selecting the shoes, I think you already know but just to inform. Hope this helps.

#5 Updated by Anonymous about 4 years ago

however I think the clavicle bones are a little off (the Epic skeleton has bones at a higher position).

MakeHuman try to estimate the right position of joints for each possible character. This usually return good results, but in some cases a little manual tweaking is needed. We define a bone structure, and MH fit it to the character. If we modify the algo in order to move it in higher position, perhaps it will work perfectly with your character, but will create artifacts in others.

I have attached the snapshots of animations that I was able to quickly make because of the complaint rigging already present.

To avoid misunderstandings, are these snapshots done using a nightly build Mh model?

Even though there are still quite a few joints and IK_bones missing, which are necessary for many animations, overall the current animation looks far better.

At the moment we only support the creation of rigged character without IK additional bones. This kind of bones are not rigged to the character, but used to drive the movement and they are very variable depending the artist and his working pipeline.
The plan is to provide (in future) special tools for Blender in order to add these "drive bones" upon custom needings.

Also 1 more little request can you also set the default pose for UE4 skeleton to T-pose, since currently all MakeHuman models come out as A-pose. Manual pose editing can be erroneous for unskilled end user like me.

If you go in "poses" tab you can select the T pose. It will be used as rest pose for the exported character.
But as I said, the export with rest pose is still broken (after all it's an UNSTABLE build...).

When should I look out for a stable release with UE4 rig in it by your estimation ?

There is a realtime progressbar of development here (atm 81%):
http://bugtracker.makehuman.org/versions/2
The date is just indicative, since we are an open source project with variable resources and it's hard to give a precise date.
But the progressbar says the true.

And thank you very very much for such prompt follow up. You are truly amazing !!! I am very grateful.

You are welcome.
Telling about us to your friends and giving us good feedback is the best way to help us :)

P.S: I get exceptions with the unstable builds in selecting the shoes, I think you already know but just to inform. Hope this helps.

Do you mean things like "Problem loading binary mesh etc.." ?

#6 Updated by S_Alam (Forum User) about 4 years ago

| _MakeHuman try to estimate the right position of joints for each possible character. This usually return good results, but in some cases a little manual tweaking is needed.
Ok maybe I dont understand the process well. But it would be nice if I can get manual tweaking done right. An example would be great. | To avoid misunderstandings, are these snapshots done using a nightly build Mh model?
Yes indeed :) | At the moment we only support the creation of rigged character without IK additional bones.
I understand now why IK joints are not included. But there are some bones like twist and ball which are not IK bones but are still not present in the current rig. You can see it in the full hierarchy. I hope this shouldn't be much to ask. The full bone names not present in the current (nightly build MH) rig are :
calf_twist_01_l
upperarm_twist_01_r
lowerarm_twist_01_r
thigh_twist_01_l
calf_twist_01_r
thigh_twist_01_r
lowerarm_twist_01_l
upperarm_twist_01_l

| If you go in "poses" tab you can select the T pose. It will be used as rest pose for the exported character.
I didn't find this option now I will take a closer look. | The date is just indicative, since we are an open source project with variable resources and it's hard to give a precise date...Telling about us to your friends and giving us good feedback is the best way to help us :)
You guys are awesome. I am an Unreal Forum user, as soon as I get something good up and running, checking all the constraints in the animation, I will post a long thread describing the process of bringing MakeHuman models to UE4. Also in my school I will tell my project members and others how to use this great great work of art. | Do you mean things like "Problem loading binary mesh etc.." ?
Yes when I select the shoes option from the menu in the nightly build MakeHuman gives exception, you can check.

#7 Updated by Rob Baer about 4 years ago

Windows 7 Build r1688
Re: shoes issues

Geometries > Clothes works fine with all 3 types of shoes here on the mercurial build. Could the shoes thing be a Jenkins build issue? What OS are you on S_Alam?

Perhaps cleannpz.bat and cleanpyc.bat and recompliling would help?

#8 Updated by S_Alam (Forum User) about 4 years ago

My OS is Win 8.1 Pro. Hope this helps.

#9 Updated by Anonymous about 4 years ago

S_Alam (Forum User) wrote:

Ok maybe I dont understand the process well. But it would be nice if I can get manual tweaking done right. An example would be great.

Make the character in MakeHuman, export it in dae or fbx, import it in your preferred 3d editor (e.g. Blender), put the finishing touches using your preferred 3d editor. We call this the "long pipeline" (there is a short one too, not fully supported yet): http://www.makehuman.org/doc/node/short_and_long_pipeline.html

| To avoid misunderstandings, are these snapshots done using a nightly build Mh model?
Yes indeed :)

Ah...good, considering we are still testing it.

| At the moment we only support the creation of rigged character without IK additional bones.
I understand now why IK joints are not included. But there are some bones like twist and ball which are not IK bones but are still not present in the current rig. You can see it in the full hierarchy. I hope this shouldn't be much to ask. The full bone names not present in the current (nightly build MH) rig are :
calf_twist_01_l
upperarm_twist_01_r
lowerarm_twist_01_r
thigh_twist_01_l
calf_twist_01_r
thigh_twist_01_r
lowerarm_twist_01_l
upperarm_twist_01_l

I noticed that all the twist bones are "external" to rigging hierarchy and they are not directly weighted. So they are just handlers/controller bones and currently we don't support them. I scaled these bones below in order to better show them.

| If you go in "poses" tab you can select the T pose. It will be used as rest pose for the exported character.
I didn't find this option now I will take a closer look.

I mean in the ustable development version:

| The date is just indicative, since we are an open source project with variable resources and it's hard to give a precise date...Telling about us to your friends and giving us good feedback is the best way to help us :)
You guys are awesome. I am an Unreal Forum user, as soon as I get something good up and running, checking all the constraints in the animation, I will post a long thread describing the process of bringing MakeHuman models to UE4. Also in my school I will tell my project members and others how to use this great great work of art.

Thank you. Remember to say that one of the things that make MH unique in the world is the license of output models: CC0, the most liberal one (much more than royalty free!).

| Do you mean things like "Problem loading binary mesh etc.." ?
Yes when I select the shoes option from the menu in the nightly build MakeHuman gives exception, you can check.

Ok, this is not a real bug...in the final release all the assets will be compiled in binary for an easy distribution, and this message will disappear.

#10 Updated by S_Alam (Forum User) about 4 years ago

Thanks.
1. Now I understand why the twist bones are not included, they dont have any weights attached to them.
2. About the exception, I understand this is an unstable build, but I thought it would be good to inform you guys of this error. I did check it on Win 7 and 8.1 Pro.
3. And yes I will surely mention this CC0 special license. And you guys truly are awesome humans to make this MakeHuman.
4. I do have a doubt about the new compliant rig which would be great if you could clarify. I have come to this conclusion after a number of animation experimentation with different models built with MakeHuman. Although the animations can now be easily retargeted from the UE4 skeleton to MakeHuman UE4 skeleton, the actual animations transferred to the new skeleton turns out significantly distorted. Perhaps it is the distancing and the locations of the joints and bones, especially the spine and pelvis central positions. In the template skeleton the spine positions are sparsely spaced and in the MakeHuman Model UE4 skeleton, they seemed quite congested. Don't know if this is how it is supposed to be ? And I am not entirely sure if this is the issue with the custom rig of MakeHuman UE4. I have attached the image of my comparison highlighting the similarities and the differences between the skeletons, please take a look.

You guys are expert, you know it better, can you please suggest some remedy to correct those distortions which I think is due to a significant mismatch of the MakeHuman and Template Skeleton for UE4?

#11 Updated by Anonymous about 4 years ago

4. I do have a doubt about the new compliant rig which would be great if you could clarify. I have come to this conclusion after a number of animation experimentation with different models built with MakeHuman. Although the animations can now be easily retargeted from the UE4 skeleton to MakeHuman UE4 skeleton, the actual animations transferred to the new skeleton turns out significantly distorted. Perhaps it is the distancing and the locations of the joints and bones, especially the spine and pelvis central positions. In the template skeleton the spine positions are sparsely spaced and in the MakeHuman Model UE4 skeleton, they seemed quite congested. Don't know if this is how it is supposed to be ? And I am not entirely sure if this is the issue with the custom rig of MakeHuman UE4. I have attached the image of my comparison highlighting the similarities and the differences between the skeletons, please take a look.

You guys are expert, you know it better, can you please suggest some remedy to correct those distortions which I think is due to a significant mismatch of the MakeHuman and Template Skeleton for UE4?

It's because in the unstable there are still some bugs in exporters:

#12 Updated by Anonymous about 4 years ago

  • Related to Bug #642: FBX export broken in 1.1 (both binary and text) added

#13 Updated by Anonymous about 4 years ago

  • Related to Bug #626: Second Life/Opensim rigging/exporting does not work correctly added

#14 Updated by S_Alam (Forum User) about 4 years ago

Ahh...OK. I see it now. Just want to tell you, I also checked the Collada export, it has the same problem. If you didn't already knew it, hope this helps.

#15 Updated by Jonas Hauquier about 4 years ago

I'm not sure yet the Collada problem in Blender is due to a bug in the exporter, or a bug in the Blender Importer.

#16 Updated by Francois Grobbelaar about 4 years ago

I'm curious and have a few questions:
1) In your example screenshots, what are you actually using? Are you using the Epic rig, or the makehuman rig with renamed bones?
2) Are you using the retarget manager in Unreal Engine 4.5 or newer, or trying to play animations directly? (refer to: https://docs.unrealengine.com/latest/INT/Engine/Animation/RetargetingDifferentSkeletons/index.html)

#17 Updated by S_Alam (Forum User) about 4 years ago

1. Using Epic rig to compare, make human rig with renamed bones to retarget.
2. Using version 4.6. I have read the documentation, the issue was the export.

#18 Updated by Rob Baer over 3 years ago

STATUS CONDITIONS: Windows 8.1 - r1777 - 5-10-2015 assets - unreal engine 4.7.6
This is all related to general skeletal debugging but this issue seems most specific unreal engine skeleton and pipeline.

1. Make clothed character with Unreal engine skeleton and T-pose
2. Export as FBX Ascii using cm scale
3. Import into Unreal scene with animation starter pack added (no skeleton checked on import)
4. Double click to go into persona animation editor and 'set up rig' | 'select rig' to humanoid | save pose
5. Animation starter pack, right click idle_pistol and 'retarget anim assets' to makehuman import
6. select MH skeletal mesh and in right panel select animation | 'use animation asset' | idle_pistol
7. Play and screen capture result

OBSERVATIONS
1. The toes of both feet seem curled to ground
2. The head/neck seems abnormally craned forward

These likely depend on the success of step 4. The neck craning is described in this video for a different animation from the Maximo pack as well: https://www.youtube.com/watch?v=_xcji2PNW4c

3. The video highlights/blames differences in the local coordinates of the mh uengine rig's bones and UE's equivalent rig (HeroTPP) as being responsible for step 4.
X=RED, Y=GREEN, Z=BLUE

Final Note: Blender is NOT in this pipeline.

#19 Updated by Jonas Hauquier over 3 years ago

Can I conclude from this that UEngine does NOT have a retargeter built-in, and only does a simple mapping?

#20 Updated by Rob Baer over 3 years ago

It has something it calls a "retargeting module". But the only AVAILABLE target choice seems to be "humanoid". Humanoid has the same basic bone names as MH UEngine skeleton which minimizes the need for manual name remapping (but remapping of names is possible if necessary). Remapping seems possible at import time but I haven't investigated what it does because UE crowd seemed to be suggesting to import with 'no skeleton' option

This testing was prompted by wanting to see where we were relative to comment 23 & comment 27 on UE wiki https://forums.unrealengine.com/showthread.php?58944-Makehuman-gt-FBX-gt-UE4

This is the Direct MakeHuman --> UE pipeline bypassing Blender.

One gets even nicer results with imports of MakeWalk retargets that have been made then exported from Blender as fbx. They can be imported "as is" into Unreal engine, but the correct choice is still 'no skeleton' in the importer and import animation should be checked..

Here is a short video of varius AACAD animations with default character: https://www.youtube.com/watch?v=Mc0ILuZQhks&feature=youtu.be The squat to walk animation particularly reveals a change in feet on ground for the rest T=pose to the rest of the animation.

#21 Updated by Rob Baer over 3 years ago

@Manuel

Comment 18 of this thread has the toe issue and neck craning I couldn't find for you the other day. This may just be an artifact of the particular retargeting I was doing. I'll keep you updated as I do more testing

#22 Updated by Rob Baer over 3 years ago

  • Subject changed from Custom Rig with IK joints to Custom Rig with IK joints--Epic Games UE

#23 Updated by Jonas Hauquier over 3 years ago

  • Status changed from New to Accepted

#24 Updated by Jonas Hauquier over 3 years ago

  • Target version set to MakeHuman 1.1.0

#25 Updated by Jonas Hauquier over 3 years ago

From what I can tell, we still have to fix the neck craning and toes issue to make UE4 retargeting work perfectly. From what I remember from own experience with UE4, small corrections to the shoulders were also required, possible to the knees as well.
Also we need to provide the option in the FBX exporter to have bones aligned along the -X axis.

#26 Updated by Rob Baer almost 3 years ago

  • Target version changed from MakeHuman 1.1.0 to MakeHuman 1.2.0

This one requires work in next major version. Move to 1.2

#27 Updated by Rob Baer over 2 years ago

  • Related to Bug #1017: Neck Bones - default and default no toes rigs added

Also available in: Atom