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

External Media

Working on a custom foliage system similar to the one that was demoed a long time ago for hack week but got scrapped. There are some problems I’m running into with performance, and I’m left with a few suggestions for what to add in the future:

  • Enable setting vertex positions in parallel. Not sure how this could be done safely, maybe only allow scripts to edit meshes made under the same thread? Also not sure how much of a gain this would really bring, it depends on where the bottleneck is.
  • Add a function to move many vertexes at once, similar to the workspace:BulkMoveTo() function but for vertexes.
  • Add the ability to apply a single EditableMesh to multiple meshes at once, basically instancing. I can think of many applications this could help speed up substantially, such as foliage and ocean systems.

For reference, the amount of grass in the video above is already using 3ms, which is around the frame time I hoped an entire game level would have, with a proper LOD system in place of course.

4 Likes