Roblox recently said they implemented a new hitbox creation system, however I’m still having the same issue as before with my dune meshes, which are convex in most places but have floaty-hitbox issues in the concave places (as shown in the screenshot below).
I’ve tried multiplying the number of polygons by 2 or 4 in the mesh but the issue doesn’t seem get fixed. It’s remedied ever so slightly in some areas. I don’t want to keep multiplying the polygons because I’m worried that may cause performance issues.
Any ideas on how this can be fixed? I’ve included the mesh below as an OBJ (un-mulitiplied version).
At the large scales we’re doing, meshes have less polygons. They stretch as well. But if I have to upload these meshes in multiple parts to get rid of the hitbox issues then I can’t stretch it at all.
I’m sort of frustrated with Roblox’s hitbox solver. I have a set of hill meshes I’d love to use in my games (between 40 and 60 polygons each), but I can’t use them because the hitboxes on them make your character float. If the hitbox solver just created the hitbox exactly on the polygons when the poly count is low, I feel like this issue would go away.
I made a feature request for the addition of an ‘Exact’ mode for CollisionFidelity because I’ve been fed up with this exact issue, Roblox’s hitbox creation for parts I need to use as surfaces is abysmal.
AFAIK, this will only result in making the hitbox even less accurate.
Multiplying means more complexity, which means ACD has to compensate for that by losing fidelity, to spread it across the whole geometry.
In other words, collision fidelity is inversely proportional to polygon count. The more geometry, the less accurate collisions will be.
I’ve experienced this very recently, and its been driving me nuts. I had no convex/concave areas on my mesh, it was literally flat, 90 degrees, shapes. And yet areas on the mesh were giving inaccurate collisions. I re-imported the mesh about 5-10 times and it magically “fixed” the collisions to an extent. Something fishy going on here…
For modelers, this is incredibly frustrating with only two known options:
To create our own hitboxes (set the mesh to CanCollide = false)
Split the mesh into different pieces.
As builds start to get more complex and become far more detailed, I don’t see this sustaining itself to a level that satisfies what Roblox is moving towards. While I can see why ACD (approximate convex decomposition) was favored over ECD (exact convex decomposition), I don’t think it’s justified as support for older (legacy) software is in the process of being dropped. Most modern computers can handle, to a certain extent, an influx of parts. While it’s understandable that a small minority of people can’t handle the byproduct of ECD, I think that a plausible option would be to allow the developer to specify which decomposition they’d like to use and go from there. While it’s been clear that over the years Roblox has shed new meaning to the common phrase “one size fits all”, I don’t think that concept is ideal, especially in the long term. To sum this up nicely; I believe that until this is corrected (not bandaged, but corrected), modelers are at a loss and the frustration of correcting this issue manually will lead talent away from the platform as a whole.