-
Notifications
You must be signed in to change notification settings - Fork 307
given model cannot be hit by UKismetSystemLibrary::LineTraceSingle #1038
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
Comments
I can reproduce this, but I'm not sure exactly what is happening. My best guess is that it's caused by degenerate triangles in that model. Line traces simply ignore it, but if we attempt to collide with it, Unreal (5.0 in my case) raises an assertion error:
|
I wang to use FIntrRay3Triangle3d to check hit, can you give some suggest? thanks! |
I have created a pull request for this issue, at least can check collision by triangle. |
It seems that the cesium model uses the meter as the base unit and the value type is "double". Precision is lost in floating-point conversion, and for small triangles, it becomes a degenerate triangle. (It seems UE uses centimeters as the base unit) |
glTF meshes use 32-bit float precision vertices, just like Unreal meshes. And they're located in the world using 64-bit double precision matrixes, just like UE5 (but unlike UE4). It's true Cesium natively works in meters while UE works in centimeters, but this shouldn't have a significant impact on precision. Can you elaborate on what you're seeing? |
@ycn2022 @kring if multiply 100, the original tile size will too large, and no conformable between cesiumjs and cesium-unreal. I considered it's best to keep the real size of mesh. |
It's not obvious to me what we can do to solve this one. If the triangles that Unreal is reporting as degenerate are actually useful, this needs to be reported as a bug to Epic. But let me know if you have an idea that I've missed. |
We've had some work in this area recently that hopefully ended up solving this problem: I'm closing this because I don't think it's actionable. But if you're still having problems in v1.28+, please write a separate issue with as much information as possible. |
I have a model exported to 3dtiles, and loaded by CesiumForUnreal. but it cannot be hit use UKismetSystemLibrary::LineTraceSingle.
the data file attached.
tileset.zip
The text was updated successfully, but these errors were encountered: