Action Required: MeshPart Heads & Accessories (May 27th)

This topic was automatically opened after 14 minutes.

This is exciting! The possibilities of PBR on avatar items/accessories are amazing, and I’m excited to see what the future has in store for avatars! However, I do have some things I want to mention.

The fact that there isn’t an alternative for VertexColor is frustrating - I found this extremely useful for recoloring an avatar in-game. I’m also worried about the difference in head collisions - Humanoid.HeadScale.Value isn’t a proper alternative for SpecialMesh.Scale, especially when it’s going to modify collisions.

26 Likes

That Future Features list has me hyped. Awesome work Osyris. Happy I could assist getting this feature ready by trialing it in Break In

12 Likes

I actually do have one issue regarding this. A while back, I reached out to an engineer asking if ‘legacy’ packages would have their head hats converted into actual head parts. The engineer pinged another one, but never got any response : Migrating Heads and Accessories to be MeshParts - #68 by RobieTheCat

Will packages like the Crimson Claw Package have their heads converted into actual heads? Right now, their ‘heads’ are actually just “Hat” accessories. Here’s the crimsons claw’s head (Crimson Claw: The Vengeful Head - Roblox). Notice how the head is actually a hat accessory.

It would be really neat if these packages could have their ‘head’ hats converted into actual head parts, so that they can make use of the upcoming avatar technologies such as facial animation and layered clothing. If these packages’ heads are kept as hats, they wouldn’t be able to make full use of this technology which isn’t ideal. It’s also worth noting that you cannot properly wear hats with these packages, because of the aforementioned issue.

25 Likes

This is exciting! I will definitely be opting in and ensure compatibility in my games.

Curious to see how customizable layered clothing will be for developers and the options we have regarding them as opposed to traditional clothes.

6 Likes

This really gets me excited. I have already been messing around with these in my project on wave deformation using mesh parts. Do we expect to see SkinnedMeshes react to physics? Currently, the bounding box is that of the part’s original shape.

Also I am slightly concerned on how you are going to push this feature out to the public, especially existing accessories that use SpecialMeshes.

3 Likes

Wouldn’t it allow exploiters to change the MeshPart ID through a script?

3 Likes

Is there any plan to apply this to Players:CreateHumanoidModelFromDescription() potentially as a fourth argument? Was super eager to finally fix the issue with my game having small heads with some characters only to be met with disappointment. :Q


No. Wouldn’t replicate.

1 Like

I couldn’t really process what the update was, but if i’m correct, enabling a mesh property will allow things such as animated facial expressions, layered clothing, etc to be used in game.

And not long ago, while creating Dummies for measuring, etc I ran into a issue with Roblox’s built in Dummy creating plugin. At the moment I cannot show or recreate issue, but selecting R6 and pressing things such as man dummy, block dummy, etc will lead me to getting only Block Dummy even when selecting something else.

I cant tell if this is just a coincidence after getting shown this update, but its a possible issue. Thanks!

3 Likes

Will particle and noise hats remain functional with this change?

1 Like

Will look into this, but I don’t have a great answer for you right now. The dragon “head” accessory will be a MeshPart and work with some of the future features, but you’re correct facial animation probably wouldn’t work with a “head” accessory.

The post details how you can “opt-in” your game so that it downloads MeshPart versions of heads and accessories. We’re doing a gradual opt-in to avoid breaking games.

This should not be a concern. If they could change the ID, it wouldn’t replicate up to the server.

This should already work assuming you’ve set Workspace.MeshPartHeadsAndAccessories to Enabled.

They should. Let us know if you run into any issues.

5 Likes

I’m not quite sure how to feel about this update, it will cause a bunch of older games that do things to the head mesh to break and I’m not sure if there’s a workaround to this. Not to mention the head collision changing will cause other things to break such as collision when walking through holes that were originally made with old terrain before the conversion.

I understand that this update plays a part in the future of the platform, but it pains me to imagine that a bunch of games that people put days, weeks, even months into could potentially break. If only we had a separate part of the platform that worked as a time machine, like a ROBLOX Legacy Edition.

6 Likes

Very much appreciated! Would definitely love a response when there’s a more clear direction for this.

Yeah, this is why I’ve been pushing to get them converted into actual heads, so that they can make use of facial anims + properly wear hats / layered clothing accessories.

3 Likes

One question I have is scaling and moving around these meshparts now. Currently, the bounding box for a typical unsealed 1.0 is 4x5x1 studs, but since the head mesh itself isn’t a perfect 1x1x1 stud proportion, will there be anything to change this? Maybe it is just me but working with small decimals is not preferable.

As you can see, the bounding box is slightly altered. It goes over the rest of the body due to the head. While this does not seem to be a big issue, I kinda value precision and I prefer not working with itty bitty decimals. One advantage of special meshes was being able to control something like the bounding box. However, something like pivots maybe be a suitable fix, but nevertheless I’d like some attention towards this.

8 Likes

I agree with you that might cause a lot of problems for these games but this update is not yet on ROBLOX so I think they have time to find a way to put these new things in roblox without breaking old games.

3 Likes

Are you talking about ROBLOX or the developers of these older games. Because a lot of older games are no longer being developed. The best solution (in my eyes) is just to make enable it default for newer games but keep it disabled for older ones.

6 Likes

Awesome stuff yet again, always exciting to see changes that lead to even bigger technological changes. However I do have an issue with this:

I’m guessing over time, SpecialMesh would be discouraged for use (within avatars anyways), but a property that that SpecialMesh have is VertexColor in which you can directly “recolor” the color of a SpecialMesh’s texture, assuming the texture is white, see below:

This is very helpful for my game where you can change your characters hair color to whatever the players desire.

MeshPart has a TextureID property, but nothing else (that I know of) that can change color of the texture directly. Perhaps this update could be accompanied with this feature to color MeshPart textures.

25 Likes

Hi @Osyris.

Currently in my game I would do Accessory.Handle.Size = Vector3.new(0, 0 ,0) to prevent any weird Physics, Collision, Touches and Hitboxes.

Physics, Collision and Touches can be fixed by doing Massless = true, CanCollide = false and CanTouch = false however it’s a hassle for Raycasting which is why I find it easier to set the Part.Size to 0.

With this new change I can no longer do this

3 Likes

Huh, I don’t think it’s working for me. I used the following in the command line:

local f = Instance.new("Folder", workspace); 
f.Name = "Personas 2"; 
for i, v in pairs(game.ReplicatedStorage.Personas:GetChildren()) do
    if v:IsA("Model") then
        local HD = game.Players:CreateHumanoidModelFromDescription(v.Humanoid.HumanoidDescription, 
        Enum.HumanoidRigType.R6); 
        HD.Name = v.Name; 
        HD.Parent = f; 
    end 
end;

and all the loaded models’ head were of parts:

Is it because they’re R6 models or something of the sort?
The property is also enabled:

image

2 Likes

You should be able to accomplish this by using Collision Groups.

Sorry, I should clarify in the original post, this feature (and the future features listed) is only meant for R15 characters.

6 Likes