See the attached video for instructions. The mesh export settings in Blender are all default settings, with the export scale set to 0.01.
Expected Behavior
When importing a skinned mesh, I expect all bones to be imported correctly. Even if a bone has few (or no) vertices tied to it, or the weights of the vertices are set to a low number, I expect the bone to still be recognized by the skinned mesh importer.
Actual Behavior
Uploading a skinned mesh which has bones that have (one or only a few) vertices tied to it, whose weights are set to 0 or a number close to 0, has those bones not recognized by the importer.
Issue Area: Studio Issue Type: Other Impact: High Frequency: Constantly
It uses bones for the origin of certain models. I need a reference so I can transfer the origins from the bones, but Roblox wonât let me import just the bones.
Going to bump again, this is a ongoing issue that STILL happens and is heavily affecting & even halting my workflow and ability to work on my projects.
We currently intentionally remove bones that have no vertices tied to them. Can you all share why you want unused bones to be imported? We can re-consider that choice depending on the use cases.
Given that Bone instances are a subclass of the Attachment class, bones can be used in combination with RigidConstraints to attach accessories to skinned MeshParts - where the bone acts as an attachment point. This seems to be the intended workflow as per this staff post from a few years ago: Skinned MeshPart Studio Beta - #268 by ContextLost
However, as soon as you use a RigidConstraint to attach an accessory to a skinned MeshPart you will run into a problem. When you set a bone as Attachment0 and the accessoryâs attachment as Attachment1 inside the RigidConstraint, the constraint will move the accessory such that the bone and attachment overlap exactlyt. This means you will either have to:
Edit the position attachment inside the accessory
Add additional bones to the skinned MeshPart that act as âattachment pointsâ for accessories.
Option 2. is in this case far superior for a multitude of reasons:
The additional bones can be animated individually, giving more control over potentially animating accessories separately from your skinned MeshPart while maintaining relative positioning to the skinned MeshPart.
If you are making a game where players can run around as custom characters while still having some of their personal accessories equipped (for example in a game where you turn into a robot character but you still get to wear your scarf, backpack, etc.) you cannot expect the developer to edit all existing accessories players could wear so that their attachments line up correctly with your skinned MeshPart.
In my case I am working on a game with custom characters that also wear accessories I created. I intend to sell those accessories as UGC items as well, so my main priority is ensuring that the attachment inside each accessory is placed such that these accessories fit the average Roblox character. So my custom characters will need these vertexless bones to act as attachment points.
My current work-around for this problem is making sure that these bones that act as attachment points are tied to exactly 1 vertex and have a weight low enough to be almost neglectible but still get picked up by the importer. As you may guess, that workflow is not intuitive and I wish that could be changed.
Another use-case was mentioned earlier in this topic as well:
Also to add onto my previous reply, maybe it wasnât clear from my original post, but the video I attached to the bug report does show me adding a vertex to the bone (timestamp 0:48). I also verify if the vertex is moving along with the bone when transformed (timestamp 1:25).
So unless I am misunderstanding how bones work, it seems that the importer also refuses to import bones currently that have a weight below a certain threshold. If so, such arbitrary restrictions open the door for a lot of confusion unless explicitly documented.
This issue is actually still happening and causing discrepancies between the rig from my modeler and what Iâm seeing in studio , it seems like studio is removing some bones as if they are leaf bones with no influences but they do affect the rig, and itâs removing bones unreliably for the skinned mesh character .
2 months later and weâre still struggling with this issue.
The problem for me comes from external modelling, whether itâs importing assets from a game or using models from non-Roblox developers. And as mentioned before, vertexless bones can be used as points for attaching accessories. I donât see why itâd be intentional to exclude such bones from the importing process when those bones are typically made for a reason. Why not make it an option when importing?
Trying to use the hand bone for an IK control so I can have great precision on how my custom character moves its arms, since using a bone, and then a bodypart/attachment doesnât work very well together at all.
Thanks for all your feedback. Makes sense why you want to keep bones even with zero/low weights. We will work on adding support for that and you should expect a solution in the next month or so.
I have had this problem for a while, but finally you are making the necessary efforts to resolve it.
I really hope you can get it fixed sooner than the date you specified.
Hi, we decided to handle your use cases by allowing you to opt in to keeping bones that have zero influences. The import preview window should now show a check box that says Keep Zero Influence Bones. It will default to false but if you check it, all bones should be imported.