Hello Cesium community,
I’m encountering a runtime error in my project when using a large Cesium-based scene (essentially a planetary-scale environment). The error message is:
Found precision loss while converting matrix to GPU format, verify the input transforms. This error usually indicates the view transform is invalid, or the PreViewTranslation/ViewOrigin was not set up correctly.
Context:
-
Engine version: UE5.5 (binary with debug symbols)
-
Using Cesium for Unreal with planetary-scale coordinates
-
The error occurs during engine initialization, before the main level is fully loaded
-
Distance Fields are enabled, and the crash seems related to
FDFMatrix::MakeToRelativeWorldMatrix
What I’ve observed:
-
Matrices used in
CheckMatrixPrecisionhave very large origin values -
The scene spans millions of units, so object positions are extremely far from the world origin
-
World Origin Rebasing is currently disabled
Attempts to fix:
-
I tried debugging
PreViewTranslationandViewOrigin, but cannot modify engine source -
Considered enabling World Origin Rebasing, but unsure how to integrate it safely with Cesium
Request:
I would appreciate guidance on:
-
Best practices for handling Distance Fields or large world matrices in planetary-scale scenes
-
How to correctly set
PreViewTranslation/ViewOriginin a Cesium large-scale setup -
Any engine settings or patches to avoid precision loss in this scenario
Thank you in advance for any advice or examples.
Best regards,
DimAlek)