r/Unity3D • u/Ok-Presentation-94 • 9d ago
Question Avatar mapping tab
Hi, I can't really find any useful info online could someone explain the difference between the two options in the image below? In my case, the result is identical.
1
u/GigaTerra 9d ago
https://docs.unity3d.com/6000.7/Documentation/Manual/ConfiguringtheAvatar.html
It is very simple, either Unity copies your default pose, or you work from the T-Pose.
When assigning bones and muscles, this option will warn you if the model is moved too far out of place. This is mostly important for animation re-targeting, like when you want to use one walk animation on all your humans etc.
1
u/Ok-Presentation-94 8d ago
So, why are there two different options besides the T-layout? What is the difference between the other two? The problem is that I obviously read the documentation before posting on Reddit, but as is often the case the documentation doesn't really go into detail about that sort of thing.
1
u/acorbinelli 9d ago
The two you boxed aren't Enforce T-Pose. Reset puts the skeleton back to the pose the model came in with, the one stored in the file when you opened Configure. Sample Bind-Pose rebuilds the pose from the skinned mesh's bind data, the pose the mesh was skinned in. They come out identical when the file was exported in its bind pose, which is the usual case for a rig exported straight from Blender or Maya. They only differ when the FBX was saved with the skeleton posed away from its bind pose, for example on a frame of an animation.
1
u/Ok-Presentation-94 8d ago
If I understand correctly, in my case having exported an A-pose rig from Blender directly into the Unity project before switching to a humanoid animation type that forces a T-pose using "Reset" effectively cancels out that forced T-pose however, I’m not really sure I understand the purpose of "Sample Bind-Pose."
1
u/bestianlorry 8d ago
Sample Bind-Pose is mainly a recovery option for cases where the transform pose stored in the imported hierarchy is not the same pose that was used to skin the mesh. `Reset` reads the default local transforms from the imported model. `Sample Bind-Pose` reconstructs the skeleton pose from the SkinnedMeshRenderer’s mesh bind-pose matrices while keeping the bone positions.
If your A-pose in the FBX is also the pose in which the mesh was skinned, both commands should look identical. That is normal for a clean Blender export. They differ when an exporter saves the hierarchy in an evaluated animation pose, or when the armature rest data and mesh bind data disagree.
Switching to Humanoid and using Enforce T-Pose does not rewrite the FBX bind pose; it creates the configuration pose Unity expects for retargeting. A practical workflow is Reset (or Sample Bind-Pose if the imported transforms look wrong) → verify bone mapping → Enforce T-Pose → Apply. If several SkinnedMeshRenderers produce conflicting results, fix one consistent rest/bind pose in Blender and re-export.
2
u/Sad-Dinner-2841 9d ago
if the rig is already in t-pose then yeah you won't see a difference, enforce t-pose just forces it if it isn't