We NEED part sizes smaller than 0.05

I recently released dragons that use vertex deformation in my game, and I started getting confusing bug reports for baby-sized dragons:
image
This is the expected behavior:
image

This occurs because the part cannot be resized below 0.05. Usually I’m content just using a SpecialMesh, but both vertex deformation and neon only work with MeshParts. I would be happy with adding 2 extra 0-size triangles to my mesh to give it a bigger bounding box, but only if an engineer can clarify whether doing that has a performance impact.

These parts are 100% graphical and do not need physics. Honestly it would make complete technical sense for the minimum physics size to be 1/2048 considering the max size is 2048. Physics for tiny parts would likely still be stable near the origin. If needed, please just unlock the graphical size and round the hitbox to 0.05.

I’ve also been considering scaling my entire game by a factor of 0.5 to improve voxel water performance and load distance, and I know I’d run into much more of this problem.

72 Likes

We’re discussing what to do about this case internally. Thanks for the use case.

The problem with small parts is collision detection. The constraint solver and the rest of the engine is fine with smaller parts, besides the smaller issue of mass ratio issues being more likely with them.

That limit is close to our allowed penetration margin for collisions. Tunneling is already a problem for small parts in general, but parts smaller than this limit just cannot collide correctly at all. Of course we don’t actually believe anyone is using parts this small for collisions, and neither are you.

We can’t just change the limit depending on CanCollide because that would create an order-sensitive dependency between two properties, which is problematic for a lot of reasons. However, we might be able to clamp the internal physics geometry for collisions and mass calculation to the existing limit, while still allowing the part size itself to be smaller.

We have a related project that involves adding more options to control collision detection overhead. We’re now considering this use case as part of that project.

No ETA and no promises, of course, but we know this is a pain point and we want to address it.

43 Likes

We used to have this but then it went away because Roblox weren’t content with just adding the disclaimer that parts smaller than the supported size will have collision issues.

When that change happened it actually broke people’s models that were using small parts by forcing all the parts to be the minimum supported size.

Ideally allowing parts smaller than 0.05 should be brought back with a disclaimer until things are worked out.

I found the update that removed this ability to be quite disruptive and did damage some of my creations, meaning I had to figure out a work-a-around (mostly using Solid Modelling and external 3D modelling software) to replace the damage.

That’s good to hear. In the meantime I’ll add a triangle of size 0 to extend the bounds of the pupil’s mesh. I know I’m going to constantly hit this limitation as I convert small characters to support vertex deformation, so a fix for this would still be appreciated.

Also, I hope there are plans for texture compositing and recoloring. It’s currently impossible to implement inclusive skin tone options using textured MeshParts (You can do it with SpecialMeshes, but they don’t support vertex deformation.) I suppose I could write an external program that outputs hundreds of tinted textures, but that hurts load times and I don’t think moderation should need to deal with that. Players also expect recolorable face paint and makeup overlays, and the number of composited combinations to upload would get astronomical pretty fast.

7 Likes