Search Issue Tracker
Won't Fix
Votes
0
Found in
Issue ID
389497
Regression
No
There is a problem with animation timing precision.
There is a problem with precision of animation times. We use two counters for counting animation time:
1) float m_WrappedTime; // [0, 1]
2) double m_Time; // (-inf, inf)
Because of different precision and operational boundaries you can end up in situation where m_Time goes over 1 and m_WrappedTime doesn't, which leads to not triggered events... The problem can be replicated by AnimationTimePrecision test in AniamtionEventCanPauseAndContinue.cs file.
The solution would be to get rid do two counters and use just one. For example have these members:
1) float m_WrappedTime; // [0, 1]
2) int m_WrapTimes; // (-inf, inf). We could use long/double for bigger boundaries
Or just:
double m_Time;
I have a suspicion that there is another bug: if you change wrapMode to PingPong m_WrappedTime is not recalculated correctly.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- var VisionOSEDRHeadromm has a comma instead of a dot when building with Metal Rendering App Mode and local OS localization is set to German
- IAP Catalog remove product “x” and add product “+” buttons are not consistent with other remove and add buttons in the Editor
- Performance issues in Play Mode when quickly hovering the mouse cursor over Hierarchy GameObjects
- Frame Debugger displays incorrect output when FidelityFX Super Resolution or Spatial-Temporal Upscaler is used with Temporal Anti-aliasing or Subpixel Morphological Anti-aliasing
- The layout system is failing to correctly calculate or apply the height of the Japanese fallback font when the primary English font's metrics are used
Add comment