Introducing in-experience Mesh & Image APIs [Studio Beta]

Unfortunately I can’t make any promises on timeline and don’t have any update I can share since this post Introducing in-experience Mesh & Image APIs [Studio Beta] - #564 by FGmm_r2. Hopefully, we will be able to share more soon.

For text, a way to convert a TextLabel (or any GuiObject) into an EditableImage is one of the options we are exploring. It definitely would unlock a lot of use cases, but one big challenge is that we want to make sure any API we introduce can be supported on the game server in a reliable and scalable way to address in-experience creation use cases.

2 Likes

In the most recent Creator Roadmap that was publicly released, we had Mesh / Image APIs scheduled for “late 2024”.

We intend to keep that promise :crossed_fingers: but this is a very complex set of APIs that touch a lot of the engine. This is why we are trying our best not to over-promise a specific date / month which would then lead to needless frustration.

6 Likes

Hello, It’s been a blast experimenting with EditableMeshes, however i encountered an issue. The “FindVerticiesInSphere” method has an argument “radius” that’s inconsistent.

The docs state that the radius is the radius of the sphere. However the verticies considered do not match with the size of the sphere in studs. However they do match the size in studs divided by two, which is weird, if this is intentional it should be mentioned in the docs.

Below some screenshot showing the verticies (in green) and the sphere in studs (blue).
image

If i divide the radius by two these results match
image

I forgot to mention that sometimes it just doesn’t find everticies at all, even if the position and radius are right, it just doesn’t return any verticies and i don’t know why. It happens when changing mesh size and mesh id (not in real time)

Quite recently, a large change to the API was made unannounced (to my knowledge) that broke quite a few developers code.

This was the removal of vertex specific functions such as:

  • SetVertexNormal
  • SetVertexColor
  • SetVertexUV

While also changing how verticies are stored in vertex ids
Before:


da23729d03f05f2a9376ae98f3c5e1fc

Verticies = {
[1] =  1,
[2] = 2,
[3] = 3,

After:

Verticies = {
[1] = 283452,
[2] = 283457,
[3] = 283459,

20c367d73d17f8725c966146d508934e
(Only vertex heights are being set (only remaining function) )
(Rendering with Precise settings)

Overall, the new system now prevents us developers from manipulating individual vertex colors/normals/and uvs, and now requires us to set them on a per face basis ( I dont think I need to explain why this is a change for the worse )

I would like to request for us to be able to manipulate vertex colors, uvs, and normals on a per vertex basis again, rather than by using normalIds, faceIds, and so forth

3 Likes

Hello everyone,

We just released an update to this Studio Beta that addresses feedback from this topic includes some performance and memory optimizations and introduces some new improvements to the API.

Please use the new topic above to continue the discussion and please keep the feedback coming.

The sample .RBXL file included in this post has been updated to be compatible with the latest updates and the known issues section has been updated to reflect the new changes

10 Likes

Yep. It also completely broke the RaycastLocal code example provided. Now I’m a bit unsure how to find the UVs of a triangle or a vertex.

2 Likes

Please direct further feedback to: [Studio Beta] Updates to In-experience Mesh & Image APIs