Migrating Heads and Accessories to be MeshParts

Will render fidelity be coming to meshparts in characters (tools, hats, heads and body parts) soon?

Yep, I use SpecialMeshes Offset property for a few animations/tweens which have to be reworked. Not to mention, SpecialMeshes allow us to make Cylinders which are smaller than the smallest part size (.05, .05, .05) which makes scopes possible without using images. So removing SpecialMeshes is imo a bad move.

3 Likes

This update will not change how MeshParts work.

We currently have no plans to remove the legacy mesh files from the client.

4 Likes

Quick Question: If you assume everything goes well but there are some problems/bugs within the game settings or the MeshParts and SpecialMesh instances with this change as some users might report it to here or #platform-feedback:engine-bugs , would you possibly expect the full release to be migrated for both heads and accessories?

Just curious as these types of meshes and accessories are important to a project of mine and experiments. :slightly_smiling_face:

Does this mean we will be able to change MeshPart meshID real-time?
I have a script that copies player appearance, and I copy the SpecialMesh inside the head and put it in the clone character, how would I do that now?

Also will this ALWAYS be optional?

I hate to bring this up but the surface projection behavior might produce undesired results for some of the legacy heads.

Take the Hex head for example. The mesh on the left uses a SpecialMesh while the one on the right uses a MeshPart. The surface projection behavior distorts the face texture making it impossible to see.

Is there any plan to address this? It would be handy if Decals had a mode where they wrapped into the UV map of their parent geometry instead of the surface projection behavior it currently has.

25 Likes

I second this. Given that it seems SpecialMesh is slowly being phased out(?), a mutable mesh ID for these parts is a must, especially for the sake of more modern feature compliance.

One immediate case is outfit saving systems – Some save by mesh and texture ID, so if a modern hat uses a material other than Plastic, it won’t render properly when using a SpecialMesh.

4 Likes

To give another example, we have custom chibi avatars in our game Crown Academy. Their heads have specific UV mapping for the faces so they fit better.


(Yes I noticed the backwards UVs, we’ll fix it later lol.)

With MeshParts, the UV projection is automated and changes how we placed the faces on the characters.

This isn’t necessarily a deal breaker, but I do think this case and the one I brought up above should be evaluated before this is rolled out, if it hasn’t been already.

11 Likes

If Roblox is aiming to focus on MeshParts as a total replacement to SpecialMeshes, PLEASE carry over some of the notable features of SpecialMeshes which cannot be replicated with MeshParts!

  1. You can dynamically change the mesh of a SpecialMesh; this cannot be done with MeshParts.
  2. [this one is critical for my game]: SpecialMeshes, when mesh collisions are unwanted, can span many thousands of studs with the use of the Scale property. Because of the 2048 stud limit on part size, if I want to work with large mesh maps (without concern for mesh collisions), I need to break up my map mesh into many smaller components and upload them as separate MeshParts, and then stitch them back together precisely. This is a significant detriment to my workflow; seeing that SpecialMeshes aren’t designed with collisions in mind, and my game does not need said collisions, it is a perfect use case.
  3. [also critical for my game]: When resizing BaseParts (and MeshParts by extension), you incur MASSIVE performance cost. It’s absolutely ridiculous how much lag resizing even a few parts every frame causes. Some have speculated this is because in ye old days, Roblox emphasized building with dragger and rescale tools while walking around in your Roblox character and physics were simulated; when you resize a part, the part checks for collisions and gets shot up to the top of whatever nested parts it may be in. Until this old behavior is removed and resizing parts costs the same as a CFrame operation, for example, we cannot neglect SpecialMeshes (setting SpecialMesh scale is basically free).

By the way, not entirely related, but during the Avatar Evolution test builds, you could use SurfaceAppearance on SpecialMeshes. However, since the SurfaceAppearance Studio Beta, this ability has been removed. Can you guys please restore this feature whenever possible? For people that still use SpecialMeshes like myself, this is quite important.

15 Likes

Will this cause a major change in appearance of Heads, which have always been known for being smoother/textureless compared to other parts, and if so, will the default Plastic material remain untextured on player avatars? I’m mainly asking to avoid a repeat of the shading bug which was introduced earlier this year and resulted in body parts and Heads appearing too sharp and harsh.


5 Likes

I feel like this change would be better suited for a more specific overhaul rather than now
Do bodymeshes use meshparts for instance?

1 Like

I think this amazing. Whilst I do not care about old heads going on sale again I do care about heads becoming MeshParts. Finally we will have an easy method for giving heads materials, this will allow us to make statues easily without having to import/export something into blender and then export it back into Roblox. Quick question: does this mean avatars will be able to use materials as a skin type via the avatar editor (on website)?

To clarify, this is handled by internal Humanoid rendering logic and should work fine for MeshParts. If you’d like to have this behavior expanded outside of Humanoid use cases, please make a feature request.

5 Likes

Brilliant. I knew this day would come, and I’m glad it has. Meshparts are so much easier to work with than SpecialMeshes.

This is kinda off-topic but does anyone at Roblox get tired of having to constantly update every single catalog item? It seems like you update the entire catalog a lot

5 Likes

Honestly I still use them for different things, for example i use the cypher so I can make oval shaped etc like another user mentioned they still have a use. I think it’s a bad idea to get rid of them

Will they use SurfaceApperance?

1 Like

I never said “No one uses it”, I mean that people if they use it, probably don’t use it often.

2 Likes

i was just using a special mesh today, its the only way to get a sphere part into a oval shape (i figured this would have been fixed after all these years) without using a mesh part that cant be changed with unions.

5 Likes

A most welcome change. This gets rid of a lot of limitations!

2 Likes

I just use a sphere MeshPart to stretch things into ovals.

3 Likes