Skinned MeshParts are live!

I’ve found that I can achieve my goal by making the handle (a MeshPart) with a armature deform modifier in Blender and just putting that MeshPart inside of the character model that acts as tool (or even hats and accessories). But this isn’t efficient if I’m going to script it like I would a Tool class object.

For clarification, I have tried welding the tool’s handle to the Character-model’s MeshPart, but the tool stays in the global positional value of the MeshPart, rather than welding to an attachment or position of a bone. I saw your script earlier with the gun following the hand bones, but that seems a bit overkill rather than just making attachments deform positionally and globally (rather than just visually and locally). Currently if I put an attachment in blender the way you showed above in your examples, it doesn’t actually change the global positional value of the attachment when it moves with the meshparts’s bones in Roblox once imported. It’s completely visual. I suggest making the importer aware of when attachments are being put through with a MeshPart and track the attachment’s true position in relation to the animating and skin deforming character. If what I’m saying doesn’t make sense or you need clarification I can post my project, videos, and pictures of my problem if you’d like to see what I’m talking about.

PLEASE further explain how this all goes together. I’ve said this before but I need to elaborate.

The example rigs are a nice addition, but without knowing why things in the example rig are set up the way they are and why that all works, we’re kind of left in the dark as soon as we try to do something even slightly different than the established “rules” that our games might need. Also, stop assuming that us developers on Roblox, a platform that appeals to beginner developers, will automatically know what some of this jargon means.

For example, use consistent wording. When you say “Joint”, do you mean a joint in the authoring software? the “Bone” object in Studio or what the authoring software calls a “bone”? a Motor6D?


Can I make skinned accessories to work with rigid R15 parts?

— makes no freaking sense. Why are we putting skinned accessories on rigid R15 parts? It’s already established how to attach rigid accessories to rigid R15 parts, unless maybe “rigid” means something else in this context; but that would be absurd. Right? I’m assuming you meant “skinned R15 parts” and go from there.

The accessory mesh needs to be skinned to joints named as per the R15 body parts.

So, are we basically taking an empty armature and rigging the accessories to that armature where needed or—? In what way do we import that?

This is only a small portion of my confusion but I hope you all get the idea.


This is driving me absolutely insane trying to wade through a combination of this incomplete announcement post, important additional information found in the 400+ replies, and what unconfident inferences we have to make from the example files provided. This is not an ideal way for “empowered developers” to learn. We really do want to integrate these features in our games, but this is making it so much more difficult than it needs to be.

In other words, do try to remember that we don’t have the same background knowledge and expertise that you all writing these instructions do. The documentation, official or otherwise, badly needs to reflect that. Same goes for DevHub articles.

4 Likes

I’m sure you are already aware of this, but I haven’t seen many reports on this bug. When you attempt to change the TextureID of a skinned mesh in the character, or add/remove parts from the character it can cause the character to appear to refresh and t pose for a moment, as seen in this video and image.

Video of this bug occurring in my transformation script.


The split second T-Pose frame.

This T-Posing/refreshing bug has been a HUGE issue for me to work around, and in some cases like changing the eye color etc I have found absolutely no work around. If it were to be patched soon that would be amazing.

10 Likes

I concur with the normal human called Snooooooperrrr… brrrrzzt.
Thank you, he speaks for us all I believe.

I would like to add that, something which would be massively useful for many of us developers is the following.


I enjoy how we could put meshfiles into brick parts, then paste Decals in them to color/texture certain sections of them, even using the ImageColor3 to adjust color if desired.

I would really love for Mesh Deformation to have at least something similar to this, so we could customize the colors and textures on certain mesh parts. It would be of great use thank you.

I hope I explained it right. :cry:

3 Likes

anyone know why this isn’t working?

Hey I was wondering what this meant in terms of rigging in blender. For instance, does this mean only 1 to 4 joint influences per vertex group? I am trying to figure out how I can place my bones in a way that gives me a lot of expression for my character, without breaking the animations when they get imported into studio.

Any help is appreciated, thanks in advanced.

A fix hasn’t been pushed yet right? Just checking as I’m still running into this. I’ve tried this work around as well and it doesn’t seem to work, when trying to run/use an animation the mesh is static it doesn’t even deform. Thanks for your communication and updates in this thread I’ve probably read all 420 posts lol <3

1 Like

Is studio crashing for anybody else whenever you try importing a mesh deformed character using rthro/rthro narrow option? :woozy_face: Usually I go with the custom option, but just testing things out.

i’m having a problem that i never had before.
i’m tyring to import a rig where the animations and the bones are imported fine.
but the mesh come with the size of 0,0,0 and also they are created really far away of the rootpart.

the gray square at center is the baseplate.
image
image

the mesh have a size of 1,1,1 and in the position of 0,0,0 in world.
aways worked, but now is not.
image

i’ve found out that i cant use shapes for bones or this problem happen wich is funny, cause i mark to export only selected and deform bones.
image

1 Like

Hi! I was wondering about skinning a model with multiple mesh parts, we need to use specific joints to indicate that we’d like two Meshes to skin together. (Ex: WeldConstraints, Hinges, Ball-Socket). However, these constraints have the added property of well…being constraints, which I don’t want for my case.

It was noted in the github loooong ago that theres:

Named joints defined within a MeshPart or FileMesh’s mesh asset data will skin to Bones with the same name found as children of that part, Bones that are direct children of those Bones (recursively), or children of other parts in the same Model that are connected to the part directly or indirectly by Motor6Ds, Welds, BallSocketConstraints, HingeConstraints, or other skinning-enabled joints within the same Model. Other descendant Models are considered separate models.

I was wondering what other “skinning-enabled joints”, if they exist, might be. Or if there was a proper-non hacky way to indicate 2 MeshParts to ‘skin’ without any other property/rigidity.

I assume bones are another option, but as is (to my knowledge, correct me if i’m wrong!), bones can’t follow other parts and it has to be the other way around.

1 Like

The method I have noticed works best for me is if your importing it all at once then it will deform with it fine.

Although if you separately upload them and apply them to the character mid-game you will need to use a motor6 to attach the mesh to the rootpart that contains all the bones. | NOT THE HUMANOIDROOTPART

How I have mine setup
image

1 Like

Thank you! But specifically what I need out of this (Telling the game to skin two MeshParts together without any extra bits) Doesn’t work using this method! Unless I’m reading this wrong.

My use case consists of overlaying parts of a model WITH a interchangable skinned mesh item. Motor6Ds do not allow this inherently without proper animation or manipulation of Transform. However, I can achieve this effect using the other skin joint-enabled attachments (Hinge/Ball-Socket) I rather not have the physical properties that they carry, keeping them ‘inactive’ is my best option but its really hacky.

Yeah, I’m having the same issue. It makes this feature a bit useless with this visual artifact unless your character is completely static texture-wise.

1 Like

What happened to the mesh deformer? That would be super useful for collisions and such.

So I have a 3d skirt modelled, and I was wondering how I’d be able to attach it to the legs so that it deforms with the legs when the legs move so that the legs don’t clip through the legs.

image

Here is what the skirt looks like with an idle animation playing:

image

I did some looking around and I’ve been at this for a few hours trying to use bones, attachments, and turning it into an accessory(this skirt is also rigged), but nothing has worked so far.

Just to be reiterate(since people have been directing me to videos on how to import custom rigs for some reason), I’m talking about making the skirt move along with the legs when the legs move, I already know how to import/animate custom rigs.

Does anyone know if this is even possible? If so, please explain in a relatively simplified manner, I’m a programmer, so I don’t know much about this. Thanks.

Pretty sure it’s completely visual and doesn’t affect collisions either way. There’s still a bounding box and that isn’t modified by deforming the mesh.

The 2 options are,

  1. Manually manipulate the bones via script, because it seems like u haven’t rigged your character. (sorry if im wrong)
  2. Make that r15 character use a bone instead of motor6d, by rigging it in blender, then also weight paint that skirt to the leg bones so that it will deform together.
1 Like

I tried using a skinned mesh R15 rig in my game today, and it worked great! It looked ultra-realistic, and the smoothing worked great on Blocky R15 and Rthro tests. Though I have a question:
- If setting up a rig is this easy, and there are so many rigs available such as Dogu15, and even rigs from the Toolbox, why can’t Roblox utilize only skinned R15 rigs instead of the R15 we have now?

If anyone wants to try out skinned meshes with their avatar, you can try in this game I made if you want.

2 Likes