To reset bone positions in Unity, especially after animation or manual adjustments, you can utilize the "Overrides" option in the Inspector panel if the rig is part of a Prefab Instance. Alternatively, you can instantiate a fresh Prefab.
Resetting Bone Positions Using Overrides (Prefab Instances)
This method works if your rigged model is an instance of a Prefab.
-
Select the Parent Bone: In the Hierarchy, select the root bone of the section you want to reset (e.g., "01head1" as mentioned in the reference, or the specific bone whose children you want to affect).
-
Access the Inspector: In the Inspector panel, locate the "Overrides" button.
-
Revert Changes: Click the "Overrides" button. This will present a list of modified properties. You can then choose to revert specific changes or revert all changes related to that bone and its children back to the Prefab's original state. This will reset the position, rotation, and scale.
Resetting by Instantiating a New Prefab
This method is useful if the above method doesn't work, or if you want a completely clean slate.
-
Delete the Existing Instance: Remove the current rigged model instance from your scene.
-
Instantiate a New Prefab: Drag a fresh instance of your rigged model Prefab from your Project window into the scene. This creates a new instance with the bones in their original, default positions.
Things to Consider
-
Animation: If the bone positions are being driven by an Animation Clip or Animator Controller, you'll need to modify or disable the animation to prevent it from overriding your manual adjustments.
-
Scripted Manipulation: If a script is modifying the bone positions, review and adjust the script's logic to ensure it's not interfering with the desired default pose.
-
Additive Layers: When working with animation layers, ensure you're aware of any additive layers contributing to the bone's final transform, as these can offset the base animation.