Providing developers with the ability to read mesh vertex data

As a Roblox developer, it is currently too hard to get an accurate vertex data set of meshes.
Roblox does not provide us with a proper method of vertex data points of meshes which makes it incredibly inaccurate or even impossible to create something that requires this data and allows developers to accurately calculate things such as; positioning meshes with ray casting for collision detection.

As of now the only alternative to do get remotely close to this result is by ray casting a grid of rays onto a model and saving the hit data. though this gets extremely inaccurate the more you scale a mesh up.

Here’s an example of which this data might be useful in.

https://gyazo.com/3c7386a898504b1247e48041082d6b53
Clip taken from superliminal, a steam game. (pay attention to the object’s shadow as well)

While the object in the clip is a relative primitive shape imagine it being done with a more complex shape instead. More complex shapes would have a higher chance of clipping or even ignoring potential gaps in a meshes without a said provided method.

Another example which might make this useful is @MrChickenRocket’s chickynoids. The mesh colission on this makes use of setting a sum of points onto a mesh with grid placed raycasting, as we know this isnt as accurate as getting vertex data of a mesh.

If Roblox is able to address this issue, it would improve my development experience because it gives more freedom in performing certain tasks with more accuracy rather than relying on something that would end up changing reliability depending on size.

Roblox already has a similar feature implemented according to the API docs but it’s limited to Core only which is a shame really. It would be convenient if this feature could be opened up to developer usage within games as well;
https://create.roblox.com/docs/reference/engine/classes/UGCValidationService#GetMeshVerts

18 Likes

Looks like the same problem as Read-Only API for BasePart/Mesh Geometry

Although your thread has a more appropriate name. @Jaycbee05 you should consider naming your thread so it is easier to find.