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
-
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