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

Hey, so it’s come to my attention that one of the users of my plugin has a mesh that crashes whenever it’s loaded into an EditableMesh using :CreateEditableMeshAsync()

Here’s the file he gave me:
Unionn.rbxm (3.9 KB)
Along with the assetid of the mesh: rbxassetid://14026615641

1 Like

A possible issue might be the way he made the mesh. If he was trying to make it “smooth” and blender, so he multiplied the amount of vertecis over and over again, until Roblox is unable to load so much without a crash. I am not sure, just a guess.

2 Likes

Thanks for the bug report, we’ll take a look!

1 Like

I am curious about the “asset uploading and moderation” portion of Editable objects and a few other ideas.

  1. How will they function in scenarios where you are given tools to customize your own character, car, or objects, and then use them in-game? Will they have to be pending for automatic bot moderation for a few minutes before they may be seen in-game?

  2. Will you be able to publish (in a live game) and save the assetid to the datastore so that it may be loaded later on and further edited, without having to store the mesh data in the files?

  3. Will there be something similar for terrain such that terrain can be saved and loaded in a similar way?

  4. Are there any plans for support of SVG-like editables for infinite resolution UI or vector art?

  5. Is there any plan to be able to use one editable object and propogate it to multiple areas through instancing and adornees/references? i.e. reusing the same editableimage or mesh multiple times, and able to edit any one of them. I’m assuming that Packages may be useful in this case, but it would not work for real-time manipulations. There is also the potential of using an objects UUID to generate a reference to it that can be placed in the Content field for image and mesh objects, and being able to get and set from there, or to have a new dedicated property. A good example of uses for this feature would be to design an RPG Maker sort of game where the user can draw sprites and update them in realtime, or a procedurally generated object that only needs to be computed and drawn “once”, regardless of however many copies are placed.

1 Like

The offset property of an editable mesh doesnt work as of right now? or is it that im missing something

edit: Im not sure why but if i chunk editable meshes it would have weird edges
image

Dude, that’s not all!
We should NEVER forget about “corrupt” developers!!! Just the EditableImage on it’s one is making it possible to technically play entire videos on it. I will not mention how exactly it might be used by these developers. EditableMeshes can be used for creating… things. And both combined will be a pretty dangerous output.
I hate to say that, but the power offered by editable meshes and images is too much for the Roblox community yet. As long as there won’t be a proper way of moderation of these assets Roblox shouldn’t make editable meshes and images visible in experiences.

If a developer would do something inapporiate then he should just be banned.
There are already building games where users can make innapporiate things, so EditableMesh won’t make it worse

2 Likes

I want to remind you that creating alternate accounts is free. Other then that EditableMeshes do make it worse. In fact you can create characters, in any shape or form you want them to look like.

Roblox is making Alt account detection tho. You’re kinda right about being able to do any shape, but i don’t think users would waste their time making it.

Remember, it can be all done with not more then a couple lines of code. Someone figured out what these are, posts them on the Internet and that’s it.

Oooooo this has got me excited!
For a while whenever I’d need to create geometry live in game, I’d just directly draw the triangles using 2 wedges, which would create a LOT of lag, so having an official way to do that should help reduce that a lot, as no doubt it’d be way more optimized!
The ability to make textures live also excites me since it means I can finally texture the procedural geometry I make!

What would be the appropriate way to dynamically determine the order of the Winding? Say I have a sphere, if I were to chose a random polygon (quad or triangle) on that sphere, how could I determine the Winding order of that said triangle?

Hmm, very odd. I am still not able to reproduce this issue - I’ve tried running this as both a server script and LocalScript, and get the correct results. Can you give me more context about where you’re seeing this? Does it work for you as a LocalScript?

I’ve been able to reproduce the issue running it any context (local script, script, command bar) with any mesh. Weirdly enough I re-ran the commands today and noticed that 2/3 index’s still return 0, but one will give an adjacent tringle ID. I’m on the latest version of studios as of writing this.

RobloxStudioBeta_AwZPUNc7As

I would love to make post processing effects with that!!!

Im having the same issue, would be nice to know if im doing something wrong or if its a bug.

edit - turns out setting custom normals also has no effect on a mesh that isnt imported using asset service.

I fairly agree, reconsidering this would be great.

Thanks for the suggestions, lots of good ideas. Currently, the bulk functions are in progress.

While that will work, it shouldn’t be necessary - when an EditableMesh is parented to a MeshPart, the rendering should cull based on the EditableMesh rather than the MeshPart. There have been some bug reports on here where that’s not always working properly, which we’re looking into, but the design is that you should be able to create your EditableMesh as you like, and the culling should happen properly.

3 Likes

Thanks for the bug report. We were able to reproduce and find the cause of this bug. We’ll reply again when the fix makes it into a release.

1 Like

Great thankyou!

Also I just learned about meshPart.MeshSize! Sorry was unaware of it when I wrote my previous post.