-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update snap value for precision in small scale models. #90950
Conversation
Fixes subtracting two CSG box nodes from a box can generate a floating triangle.
How well does this behave when a few thousand units away from the world origin (between 4096 and 8192 units)? I believe this is why the default is 0.001. |
@Calinou can send me a test case where this errors. I am not sure if it exists. As far as I know this snapping value was because of a bug that used to cause an infinite loop. I am imagining reusing that double precision tester where we have a scene at the origin and another one a million units away. https://github.com/godotengine/godot/files/8137344/TestDoubles.zip From #58516 |
@Calinou I made a video of the double precision test with https://github.com/V-Sekai/godot-double-precision-test. How did you expect it to break because it doesn't seem to be breaking on a CSG box subtractions at the top left. I'll file a bug later, but @Zylann double precision has broken triplanar again. |
This change is going to make CSG appear to have a precision issue without an obvious explanation why. I would rather keep the current behavior which is obviously incorrect for some uses and have users change snap to a value appropriate for their application, than have a non obviously bad default that users won't notice or understand |
Closing due lack of agreement on this method. |
#91748 is a better theoretical fix for this. |
Subtracting two CSG box nodes from a box can generate a floating triangle.
Not sure if this is the proper fix, so putting it out for testing.
Seems to resolve: