1
$\begingroup$

I have a character I brought into blender from Unreal Engine in order to create custom clothing. The character's rest pose is the standard A pose used by Unreal Engine.

I used "pose" mode to place the character into the standard T pose position used for creating clothing and then created the shirt I needed. This is when I run into a snag.

My "shirt" mesh has a rest position which is essentially a T position (arms straight out to the sides) but the rest position of my armature is in the A position with arms angled downwards. Let's call this -45 degrees.

I now need to attach my shirt to the armature so I can reposition the arms into the original A position of the character, which is where I run into a snag.

It appears that a "pose" is relative to the original rest position, which makes sense. So as soon as I parent my "shirt" onto my "armature" the shirts arms deflect UP 45 degrees while the character arms are straight out in the T position. If I return the character to it's rest position (A Position) the shirt arms return to their original position as well (T Position).

The logical solution is to make the character's T position the rest position first, before attaching the shirt to it. However, it creates another problem: I need to position the arms in the EXACT A position that the original character file was in so it will property align with the character when I transfer the shirt mesh into Unreal Engine.

Is there a way to "swap" my created pose with the rest pose while maintaining both in the blend file? So far when I change the rest position, it does not preserve my other stored position as it's relative to the rest position.

I'm hoping to avoid having two separate base characters, one with am "A" rest position and a second with a "T" rest position.

Any ideas?

$\endgroup$

1 Answer 1

2
$\begingroup$
  1. I think you need to create a new Action with a single keyframe for all bones on the armature with the character in the T-pose. To do so, with the armature selected, enter Pose Mode, select all bones with "A", and press "I" to insert a keyframe. Then click "Push Down Action" for that new NLA strip in the Nonlinear Animation Editor, so it sits on a track.

  2. THEN, with the T-pose NLA strip active, parent the custom clothing to the character's armature (and do whatever weight painting adjustments are necessary). Next, put the character back into its "Rest Position" by clicking the corresponding button in the armature's Object Data Properties panel.

  3. Finally export the .FBX file to Unreal Engine.

Unreal Engine tips: Make sure your Scene Unit System is Metric and your Unit Scale is set to 0.01 (otherwise bones will draw as big spheres in Unreal). I like to export the .FBX file from Blender with the options "Face Smoothing" and also tick "Tangent Space" but that last option requires you to select "Import Normals and Tangents" in Unreal's FBX importer under "Normal Import Method". Depending on the model, exporting with "Tangent Space" may not always give correct results, so always check the shading on your particular model after import to Unreal to be sure.

NOTE: If the armature is NOT using the default UE4/UE5 mannequin skeleton, but is a custom skeleton containing a dedicated root bone, make sure to rename the armature to Armature on export from Blender to avoid having two root bones when importing back into UE4/UE5.

(The armature of the default UE4/UE5 mannequin will have the name "root" in Blender, but this is NOT the same as actually having a real dedicated root bone (like Rigify rigs have). Since the lowest bone in the hierarchy of the default Unreal mannequin skeleton is actually the "pelvis" bone, there is no need to rename anything here.)

$\endgroup$
2
  • 1
    $\begingroup$ Thank you for your detailed reply! I essentially did exactly this with one exception... and that might make the difference... I am unfamiliar with the "Push Down Action" and what it does. As soon as the clothing is parented to the armature, it seems that the clothing meshes un-posed position (t-pose) is matched with the armature's rest position (a-pose) and so the clothing's arm position is always roughly 45 degrees above the armature/character mesh's position. If you move the armature, the clothing position adjusts relative so the arms are always 45 deg above the armature. $\endgroup$ Commented May 10 at 22:39
  • $\begingroup$ You're welcome! The gray "Push Down Action" button (located in the Nonlinear Animation Editor) basically just stores the current animation into its own strip that can then be slid around the track, edited, muted, or crossfaded with other action strips. I recommend CG Dive's tutorials on YouTube to learn more about the process: youtube.com/… $\endgroup$ Commented May 13 at 14:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .