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

Modelling in Roblox Studio? Alright, that’s a big one…
Blender for developers might become not so neccessary to use anymore, because smaller edits can be done in Studio now!

Edit:
Make it usable for Unions!!!

1 Like

I think my boy found a way on how to make interactive videos! How will ever spend thousands of robux for a 15 minutes of only video, if you got this???

4 Likes

Can you please give us the option to disable throttling on mesh updates? If I want to update my mesh every single frame, then I should be able to. Potentially bad performance is my problem, not yours.
Oh also make automatic normal generation optional as well. Actually, it doesn’t look like setting normals does anything at all yet, does it? It seems to ignore what I set and it generates averaged normals.
A way to edit collisions would be great as well, roblox’s catch-all collision generation is pretty slow, and there are many places in which specific and purpose-built solutions will run much better.

6 Likes

This is simply amazing. Opens up so many more things you can do in the Engine, I’m so hyped for when this does come out!

2 Likes

Less go!!!


1 Like

@FGmm_r2

I can not modify the textures that are on Humanoid related things

3 Likes

Good question! But have you tried adjusting the transparency of the surface? I believe the reason is that textures from surface appearence are basically overlaying colors, but remember that with this update you can also edit the colors of images! Good luck!!

3 Likes

I tried to make a mirror with EditableImage. Here is how it looks:


Before EditalbeImage, i used many Decals that were positioned in a 2D Grid and just changed their colors, which was bad for performance, but with the new EditableImage i was able to get around 40 FPS on 128x128 resolution (only half of the resolution is updated per frame). If we would use only 64x64 textures (or updated only quarter of resolution) and if there was a way to apply blur to it without sacrificing performance, then maybe it could be use in games. What do you guys think?

20 Likes

Rather, it does not overlap, but overwrites the texture. Because if you use EditableImage there are no such problems.

SurfaceAppearance

EditableImage

The only problem is that if you use EditableImage instead of SurfaceApperance there will be serious performance issues.

[Edit]
I figured out how to fix it. You need to fill in the MeshId and only then the TextureId will work. But it still looks unfinished.

5 Likes

is this why my meshes are invisible in studio?

1 Like

Not sure what you mean, but I have the same issue! After adding a EditableMesh to a MeshPart it won’t be visible, but EditableImages work fine.

1 Like

I wonder if we will get texture filtering options, like:

EditableImage.FilterType = Enum.TextureFilter.Nearest
EditableImage.FilterType = Enum.TextureFilter.Linear
EditableImage.FilterType = Enum.TextureFilter.Bilinear
EditableImage.FilterType = Enum.TextureFilter.Trilinear
9 Likes

I think I found a bug.

I drew a 300x300 white rectangle, and when I rotate it, it slowly shrinks and becomes transparent, lol.

6 Likes

How did you guys get the editable mesh to work? I have the beta feature enabled, but the vertices I add to the editable mesh doesn’t show up. I set the parent to a mesh part and still it doesn’t show up.

4 Likes

I found that creating a new editable mesh through a script and immediately parenting it to a MeshPart works. For some reason though, if i drag it in through workspace, nothing will happen.

A simple Instance.new(“EditableMesh”, workspace.MeshPart) should do the trick, and anything else can be put after, such as creating new vertices, and creating triangles or setting UV coordinates.

Just incase though, I would reparent it again. I haven’t tested if it does anything though.

3 Likes

I am very happy about the EditableMesh and EditableImage APIs. They’re fantastic for dynamic wave simulations, solving challenges like real-time tessellation. However, GPU support is crucial, especially for FFT calculations in ocean simulations. Examples of stunning Fast Fourier Transformation oceans showcase the potential impact on visuals and performance. The ability to create normal maps in real-time using EditableImage is promising, but integrating them into a surface appearance is a current limitation. GPU utilization for image calculations would be a game-changer, offering immense possibilities for creative expression. Looking forward to future developments!

Highlighted is an FFT ocean example, emphasizing the immediate need for GPU acceleration. CPU FFT ocean simulations run at 0.2 to 0.8 seconds per frame, even at minimal resolutions.

15 Likes

I want to point something out to the Roblox devs about this update. The original announcement makes it sound like the intention here was to allow users to edit meshes on the client side, then have those meshes fed through moderation… But note… No one in this thread is using this API in this way. They are using it exactly like any other game engine would use meshes and UVs. Roblox devs need triangle support like this to publish better games. That’s not “let the client modify a mesh to their desire” stuff. That’s LET MY SERVER FEED YOU PROGRAMMATIC MESHES stuff. For example, Planet Oof uses a planet composed of triangles generated procedurally as a landscape. This is a very powerful tool without client editing.

Stop trying to moderate server to client meshes when there’s no client interaction involved in most cases. Just moderate the GAME in those cases.

8 Likes

How were you able to do that? I can’t get EditableMesh to even create 1 triangle.

3 Likes

Make sure you look from all sides, as only one side is visible. Make sure you parent it to a meshpart and make sure you anchor the meshpart. :slight_smile:

Oh, and if you want it to not be completely distorted, set the size of the meshpart to (1,1,1).

4 Likes

I guess it’s time to start working on that rasterizer again…

1 Like