Search Issue Tracker
By Design
Votes
0
Found in
2019.4
2020.3
2021.1
2021.2
2021.2.0a17
Issue ID
1338794
Regression
No
Setting physical attributes of a Kinematic GameObject sometimes sets them not equal to the defined values
Reproduction steps:
1. Open the user's attached "DeterministicPhysicsBug2.zip" project
2. Open the "Test" scene
3. Enter the Play Mode
4. Observe the Console
Expected result: The Debug.Logs are printed infinitely
Actual result: An error is thrown after some Debug.Logs
Reproducible with: 2019.4.27f1, 2020.3.12f1, 2021.1.11f1, 2021.2.0a20
Could not test with: 2018.4.36f1 (project cannot be downgraded)
Notes:
-In the Actual results section - the error might be thrown after 10 or after 500 test
-The issue doesn't reproduce consistently
-
Swarley_92
Jul 28, 2022 11:50
also faced with this bug on 2022.1 Unity
Can't change velocity and angular velocity for kinematic rigid body. By we already have mechanics based on previous rb behaviour. It's a really critical bug for our project
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
- Search field in UI Builder's Library has no character limit
- Changing the value in UI Builder by dragging increases it by a few thousand points when reaching the borders of the screen
- ARM64 architecture DLL incorrectly copied instead of x64 when building for Windows x64
- Crash on TypeTreeIterator::GetNode when opening a specific folder
- Crash on WriteSerializedAssetsV2 when (re)entering the Play Mode in a specific project when IEnumerator Start() is used
Resolution Note:
The issue was caused by using Vector3.Lerp with Time.fixedTime. During the first run, t that is passed to Lerp is less than 1 thus Lerp returns a point midway between startPosition and targetPosition. All subsequent runs had t > 1, thus Lerp returned targetPosition. Workaround: use a separate variable for time tracking and reset it every run to 0.