Skinned MeshParts are live!

These features being added would be a massive help. As it stands, the system is very hard to work with.

@The_Aliens - can you elaborate? Hard because scale is not supported?

I have a change coming that will completely ignore any scale. I hope that will makes things easier where things are breaking because scale is not supported.

5 Likes

what abbout animation scaling in real time?
bone scaling.

That would be perfect. Seems like the IK bone thing was fixed so I also no longer need to use the script. After scaling is supported everything should be A-OK!

2 Likes

Yeah 100% agree.

Final thing that we would need is better looking bones, such as those within blender, just to simplify things and make it very easy to understand. But the feature rn has improved so much since the release. Excited to see where it goes further down the road.

1 Like

When we will be able to easly rig meshparts to other meshparts that have bones and will make the linked meshpart move? , in a few words, like a hat on a character head, at the moment doing something like this is really complicated because there is not an actual feature for it, you can only rig the meshpart in blender or any other software and cant really make any changes in studio, so customization , or more in general just variation is hard, and its even harder for clothes or any part that has bones linked with a part that also has bones.

1 Like

Still can’t figure out why it’s importing as black (won’t let me change the color & won’t register a texture). Whenever I move it some parts of the mesh go invisible?

[EDIT:] This was a vertex color issue, although my file did not have vertex information. Whenever the vertexs are painted black, the fbx mesh will turn invisible like the video showed above. This is a bug on Roblox’s side and has been logged.

1 Like

You can split the mesh into separate parts, as a workaround for the texture resolution limits
I did a 1024 texture for the body, and then a second one for the helmet/pouches.
works fine :sunglasses:
even these boots, which are about 1/8th of the UV map look decent

PBR is out on public branch. but to use it you need to enable it in studio beta.

also, fun workaround. If you import your character as Rthro, it doesn’t like… do any checks. you can have a custom rig, and then upload .fbx animations for it.

3 Likes

Hey how did you add IK to it? I can’t find that option in studio.

2 Likes

I didn’t. I rigged it with IK in blender.

it looks like it just imports to roblox as raw keyframes.

4 Likes

Oh ok you just animated it in blender, i get it. Thanks!

Oh! I can confirm that disabling that option solves the frame rate drop for my friend when a SkinnedMesh with bones is imported. I can also confirm that it causes lag to me and the rest of my team if we enable it too. We shall make sure to keep it disabled.
Thank you for helping us solve that issue!

I’m not sure if you created the S15 Lola rig, but I opened it to see how it was made, and now I am super confused. I have a few questions:

I see that the fbx model is actually comprised of separate mesh objects. All this time, we thought the model had to be one whole mesh object.

  1. Does that not cout as multiple meshes? Or are you talking about something else when you say there are issues with importing multiple meshes?

  1. By “Parts” do you mean the mesh objects in Blender, and by “Joints” the Armature Bones? (sorry I get confused because Blender and Roblox use different terms for these things, just trying to understand what’s happening)
  2. Is this the reason the model is broken into parts in blender too? Are you intentionally creating the model in segments to name them the same as the bones so the bones get replaced by the meshes?
  3. The names of the parts/mesh objects and the joints/bones are actually not exactly the same in Blender. The parts/mesh objects have “_Geo” after them while the joints/bones do not. Did you add the _Geo suffix to the parts/mesh objects for a reason? And does that not interfere with Roblox identifying the parts that are named the same as the bones?
  4. Is this the preferred method?

  1. Why do you have a bone positioned from the ground to the character?
  2. Is this required / preferred?
  3. What if my SkinnedMesh is not a character / creature with legs? For example, a Fish or an Octopus? Do I still need a bone from the ground to the rootpart of the model anyway?

  1. Lastly, why are the bones from the arms sticking out like that? Are they positioned this way intentionally for a reason?

I apologize for all the questions. The S15 Lola rig seems to work fine and does not lag my friend, so we wanted to see how you made it to understand what we are doing wrong.

2 Likes

do you mesh have any vertex color set to it?
if yes them that can be the cause of why is all black.

2 Likes

It’s not the vertex color, I haven’t painted on it. It looks fine imported as an obj. Thanks though!

1 Like

Currently I am attempting to import an animation that i have made, however it seems to import 2 exact same keyframes, one for the start and one for the end, and the mesh moves to some odd position, any ideas?

1 Like

rename your animation to 01name like 01idle in blender, roblox only import 1 animation per time and it will chose the animation with name order like 0,1,2,3 a,b,c,d
dont forget to delete/remove the animations from node editor/NLA.

so blender chose animation by name order and will prioritize the animation in NLA.
if you delete the NLA animation he will choose the animation based on name.

2 Likes

Thank you for the reply, seems like it is just a blender issue. I fixed it by goign to animation baking properties within the export menu, and deselecting “force start and end”.

2 Likes

The S15 Lola is made in the same way a regular R15 character is, according to the rules:
https://developer.roblox.com/en-us/articles/using-avatar-importer

Yes, the mesh names match the joints, with “_Geo” on the end - yes like the R15 spec.
The main difference is that for R15 the mesh parts had to be under the joints in the hierarchy.
For S15, for skinned they should be outside the hierarchy to avoid double transformation.

I think the Bones sticking out is just that the character was originally in a T pose, and they weren’t adjusted when the arms were brought down to i pose. Where they point does not affect the import.

The issue with multiple parts I referred to does not happen when the parts match joint names (with the _Geo).

Again, MeshParts will skin together if they are connected with one of the supported joining Instances: eg. Weld or Motor6D or Hinge.

When the S15 .fbx is imported, the connection of Parts is just like R15, and there are no Bones:

How can it skin together?
Since each of the MeshParts has a joint in it’s mesh of the same name, that joint is used to skin the mesh for the entire Model.
( Notice the _Geo is removed on import as it always has been for R15. )
This was done to provide backwards compatibility with existing places.
Users will be able to play with skinned mesh avatars in existing places that support player chosen catalog avatars.
Because there are no changes to the Workspace Instances, any script that looks for the R15 arrangement will not be broken.

7 Likes

Any MeshParts that are connected with the supported types will skin together. So if the hat is Weld’ed to the Head and the mesh of the hat is weighted to the head, it will skin to the Head.
You are correct, currently the skin weights have to be made in a content tool, and imported as an .fbx file.

3 Likes

Hey, Ive found a minor bug.

When changing the parent of bones, the position + orientation properties wont update, yet they have moved visually in the viewport. To fix this you have to either undo and redo the action, or deselect and reselect the bone. Its nothing big but just thought i would let you know.

(ps - I am absolutely having so much fun with this feature, making pipes hoses capes and wow, thank you and the team for this amazing update.)

3 Likes