Search Issue Tracker
By Design
Votes
0
Found in [Package]
1.2.x
1.3.x
Issue ID
ARB-32
Regression
No
Incorrect Bone Transform values are retrieved when getting them with Script
How to reproduce:
1. Open the attached user project “BugReporting.zip“
2. Open the “SampleScene“ Scene
3. Enter Play Mode
4. Compare the position and the rotation of the “hand.r“ and “Target“ GameObjects in the Hierarchy
Expected result: The position and rotation of the “hand.r“ and “Target“ GameObjects are the same
Actual result: The position and rotation of the “hand.r“ and “Target“ GameObjects are different
Reproducible with: 1.2.0, 1.2.1 (2021.3.27f1), 1.2.1, 1.3.0 (2022.3.2f1, 2023.1.0f1, 2023.2.0a19)
Reproduced on: macOS 13.4 (Intel), Windows 10 (by reporter)
Note: Issue is reproducible in Player
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Standalone Player crashes with "TDerived GetOrLoad<TDerived>() where TDerived : T" when IL2CPP Code generation is set to "Faster (smaller) Builds"
- IndexOutOfRangeException and InvalidOperationException when logging XML string
- Script missing in "Assets/Settings/Mobile_Renderer/GlobalVolumeFeature" of "com.unity.template.urp-blank" template
- “Font Asset Creator - Error Code [Invalid_File_Structure]…“ error is logged when generating Font Assets from fonts with meta files from previous Editor versions
- Input.mousePosition returns (NaN, NaN, 0.00) when Scene view is opened
Resolution Note:
Hi, this offset you're getting when evaluating the `RigBuilder` in LateUpdate is expected in this situation.
When the Animator evaluates, or when a PlayableGraph is manually evaluated, the default values are restored. This overrides the idle pose you had set up in your animator controller and since your idle pose had a higher shoulder position compared to your default pose, it carried over this offset in your constraint.
The way to remedy this is to add `RigTransform` components in your transform chain. This component will sync your scene transforms in the RigBuilder AnimationStream and allow the values you animated in the `Update` loop to be used in your constraints.
In this instance, adding GameObjects shoulder.r, arm_stretch.r, forearm_stretch.r and hand.r will allow your animation to carry over to your late update constraint.