SDF_SHAPE_PROXYTYPE is equal to CUSTOM_CONCAVE_SHAPE_TYPE might break the convex/concave collision for custom concave shape. #3744
eminor1988
started this conversation in
General
Replies: 2 comments
-
Hi Erwan, Actually I'm encountering the same issue, what would you recommend, using MULTIMATERIAL_TRIANGLE_MESH_PROXYTYPE (which doesn't seem to be use for any casting in the code, but that might change in the future) ? Or fixing the enum, making SDF_SHAPE_PROXYTYPE to not share the same value as SDF_SHAPE_PROXYTYPE) ? Thanks! |
Beta Was this translation helpful? Give feedback.
0 replies
-
I ran into the same issue in 3.22a. It looks like the problem i still present in master. I've used the MULTIMATERIAL_TRIANGLE_MESH_PROXYTYPE workaround now. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, I encountered a problem since update from 2.87 to 2.88(or above).
Sorry about my bad English skill...
Situation
I implemented a custom concave class (inherit from "btConcaveShape"), and I used the "CUSTOM_CONCAVE_SHAPE_TYPE" as shape type for it.
But convex(a sphere)/custom concave collision is not working after I updated bullet from 2.87 to 2.88(and I also tried 2.89 and 3.05).
Cause
I find out the problem might be caused by the value of shape type "SDF_SHAPE_PROXYTYPE" is equal to "CUSTOM_CONCAVE_SHAPE_TYPE".
In the versions since 2.88, the collision algorithm treat the shape type "SDF_SHAPE_PROXYTYPE" as different function from original convex/concave collision algorithm, but "SDF_SHAPE_PROXYTYPE" and "CUSTOM_CONCAVE_SHAPE_TYPE" shared same value.
So it will break my convex/custom concave collision because the shape type "CUSTOM_CONCAVE_SHAPE_TYPE" will be treated as "SDF_SHAPE_PROXYTYPE" and run different(wrong) function.
I tried to change the shape type of my custom concave to "MULTIMATERIAL_TRIANGLE_MESH_PROXYTYPE"(it's also a concave shape type) and collision is working again.
But the most top of file "BulletCollison/BroadphaseProxy.h" described that we can use "CUSTOM_CONCAVE_SHAPE_TYPE" for extend shape.
Possible solution
So I consider it might be a bug, "SDF_SHAPE_PROXYTYPE" should be new value not an old one.
But I am not sure the fixing is correct or not, so I just report it.
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions