Skinned MeshParts are live!

@RobieTheCat Hi Robie,
I am working on a project that uses Skinned MeshParts with 3 other developer friends. And we are running into an issue that we haven’t been able to resolve in over two weeks now. Hopefully you can help us.

Problem Summary:
One of my team mates experiences a very severe frame rate drop whenever we import some Skinned MeshParts. However, the other two developers and myself do not experience any frame rate drop whatsoever.

*Problem Details:
We have some Skinned MeshParts that contain 20 or more bones, such as the root model shown in the following image. https://gyazo.com/0a7251c4b99a5abc74cf0b93de083d18

Two of the devs in my team and myself have no problem moving around and doing stuff with such models, as shown in the following gif: https://gyazo.com/5471f671bdb134066c503d71c46eb304

However, one of the devs in my team has trouble moving inside the place when we import and have those models in there, as shown in the following gif:
https://gyazo.com/b9705af37175d1862005ac0578b4f645

When he moves the bones out of the MeshPart, or deletes them, his lag stops. As shown in the following gif: https://gyazo.com/bf551c9d7b90beda57c720dd9f13aa9b

Worth Noting that he does NOT lag when he clicks Play/Run. Only when the game is not running/playing.

He also does not lag with some other Skinned MeshParts that have fewer bones, such as the one in the following image which contains only 4 bones: https://gyazo.com/afb2be5540c5a995ea09da6191d76ab9

We’ve tried the following:

  1. We created two test models, both with many bones, but one had no vertices along its body. To test if the issue had something to do with bones not having vertices near them, or multiple bones fighting for the same vertices. Both models caused lag to my developer friend. (didn’t cause lag to me or the other 2 devs) – so we discarded the vertices as being the issue. https://gyazo.com/32e31a6f44bd859836c5c90cc28864f6

  2. He uninstalled and re-installed the Studio. No success.

  3. He uninstalled and re-installed the Studio, removing all his Plugins. No success.

  4. He turned off constraints viewer in the editor menu. No success.

  5. He disabled VSync in his GPU. No success.

  6. He imported the problematic models into an empty place with no other assets or plugins. No success.

  7. He erased his machine Cache. No success.

Also worth noting, his computer specs are not bad. In fact, he has better specs than one of the other devs in the team, who does not lag at all. The following are our PC specs, Team Mate 3 is the one experiencing the lag issue with the Skinned MeshParts:

Mine:
CPU: Intel i7-7700K 4.20GHz
RAM: 16 GB DDR4
GPU: GeForce GTX 1070

Team Mate 1:
CPU: AMD FX-6300 3.5GHz
RAM: 32 GB DDR3
GPU: GeForce GTX 1050 Ti

Team Mate 2:
CPU: AMD RYZEN 5 3600X
RAM: 16 GB DDR4
GPU: AMD FURY

Team Mate 3:
CPU: i7-4770 3.8 GHz
RAM: 12 GB DDR4
GPU: GTX 1060

We have spent a lot of time trying to solve our team mate’s lag with Skinned MeshParts, and we are running out of ideas. Any help would be appreciated.

Regards,

5 Likes

i some times lose connection, when i look at the bones or the values that come with the rig when you import it.
and is not only in roblox studio, roblox studio take my whole internet and drain like 99% of it.
it dont stop until o close roblox studio.

when this happen i cant use internet unless i close studio.

1 Like

Is there a way to disable the bones visually so that I can animations better?

2 Likes

Quick question.

If we create separate clothing items that are a single mesh with a single texture ID can we weld the mesh of the clothing onto the player model and the clothing that is attached will deform with the bones of the rig?

Very important question I need answered asap.

I’m not sure if you need to rig the separate mesh or if you can simply wield the separate mesh to the meshpart and it will follow wherever it is wielded on the meshpart?

To make my example more clear.

Say if I have four different shirts “like this maroon one” and I want to attach this single mesh to the character model, how do I go about attaching the shirt mesh to the character mesh without having to rig new bones to the clothing itself? Do I have to add bones to the shirt model and then script the shirt model to attach to the mesh it’s parented to?

8 Likes

Apparently my question was already answered however I’m not even close to comprehending how it functions, I’m most likely going to have to hire someone to rig the characters and clothing for us.

1 Like

Basically, in case your question is similar to mine, the solution is to weightpaint everything including rigid parts if any (unless you’d prefer using attachments for these). Rigid parts get the full 100% weight to whichever bone it’d be applicable. (e.g shoulderpads could be the shoulder-bone)
Non-rigid parts should be weightpainted more carefully, but most of the time you can automatically weight the right bit of the mesh to the corresponding bones in Blender. If something doesn’t appear normal, just do a few edits in the weightpaint editor until you’re satisfied.

Then finally you can export the rigged mesh. Make sure to export the rig, mesh and the clothing altogether. Also remember to have the T-, A- or I-Pose, whichever you’re using, as ruling animation. Then import the other animation(s) you may have made for the character using the Animation Editor. I’d recommend exporting all the animations as separate .fbx files.

If done successfully-ish you’d get a result like this:

19 Likes

Heh, this to me is like rocket science.

My animator said he’d possibly be able to figure it out since he already knows how to rig in blender in general, hopefully we can figure this out fairly quickly, thank you for the tips, I’ve made a DevForum post for hiring someone who is specifically talented in this area just in case we can’t figure it out in under a week.

This system will truly be amazing fort he game we’re working on so it’s a necessity at this point to get this down.

2 Likes

Isn’t this what they used for the Lil Nas X event?

4 Likes

How did you get the rotation right with your rig… mine does this
https://gyazo.com/50c323940970395abf0d149438b81208

2 Likes

How did you get the rig, rotation correct with your mesh.
i’ve ran into this problem with my custom rig.
https://gyazo.com/50c323940970395abf0d149438b81208

2 Likes

Are there any plans to allow constraints to be attached to bones? I am aware that using a script to just have a bunch of parts monitored to follow bones is an option, but that seems a bit… “hacky” and would physics even keep up?

A game my team and I are developing allows a character to equip different pieces of armor and weapons for different body part locations (think a different left pauldron and right pauldron, or two different boots on each foot).

We want to use mesh deformations for clothing that spans (bipes, in TES terms) multiple body parts however for our weaponry it seems that we’d be able to just make a WeldConstraint and have one part be a bone - but that isn’t the case (which would make things really nice if it was…)

Our character is one MeshPart and the sword is another.

image

Shown here, the animation does not take the sword with it because it is attached to the character mesh, but the bone is what is moving.

Regarding the armor, we want the player to be able to dynamically equip something that spans multiple bones like this

image

And is still deformed without having to export the model with that exact clothing mesh on it (given we want to make armor and clothing swaps dynamic).

For now, we’re settling with it just not deforming and having odd breaking in the clothing during animation.

8 Likes

Dude thank you! Your amazing for figuring out how to use rigid parts with the mesh deformed character! and also the armor too!

2 Likes

How did you do this? Did you just have to weight paint on 3D model program and just add it into the character or what? please telll meeeee :stuck_out_tongue:

Or if u actually complete this

3 Likes

how was it answered? could you send me a link?

2 Likes
2 Likes

We didn’t accomplish it. Roblox does not support a method for us to actually utilize mesh deformations effectively with bone attachments yet.

1 Like

I recently made a visualization tool that real-time renders bones over any rig being supplied only the root bone, is this something y’all would be interested in me making a plugin out of? It wasn’t super difficult so I’m guessing many of you have made your own versions, but if not then maybe it’s plugin worthy.

Here’s it in action:

7 Likes

Is there going to be support for animation layers? Running multiple animations at once.

How about dynamic changes in the sizes of the skinned meshes? If I resize a rig in real-time while keeping motor6Ds and updating their size and positions.

Lastly, it would be nice if animations wouldn’t change the rig size and actually be scaled up automatically when the skinned meshes gets an update in their size.

3 Likes

lol nice Kazuma outfit right there

Going into the topic the way to deform multiple mesh at the same time has been discussed before

1 Like

People keep linking this, but don’t seem to be reading the post? This is not the same as what we are discussing above and is not a solution to dynamic mesh deformation.

2 Likes