Multi-Skinned Meshes Don't Deform Properly

Reproduction Steps
Make a skinned mesh rig with more than one meshpart within it; all bound to the same bone structure. Then through regular animations and using scripts to modify bone positions, some of the geometry will deform to it’s proper position, some of the geometry will revert to it’s default position, some of the geometry will deform to a completely random position. This happens completely independent from the bone cframes and transformations.

Expected Behavior
I expect multiple objects bound to the same joints to move together as the joints move.

Actual Behavior
Sometimes things work as expected, but alot of the time parts of the geometry will almost be “left behind” as the bone moves. So one or more meshes will deform to where the bones are properly, and then one or two will just not deform at all, despite the fact that they can and will deform properly other times.

image

This image shows my skinned rigs in action. The clothing is one mesh, the flesh is another, and the hat is the last of the three. All of these separate parts are bound to the same bone structure. The rig on the right is deforming PERFECTLY and as expected. The two shown on the left have their hats and clothing deformed properly, showing that all the bones are in the correct positions. The flesh mesh is clearly not deforming properly, it’s not even in it’s default state, it’s just stuck like that and will remain like that as animations and scripts further deform the mesh.

Workaround
I have no workaround for this, it just happens and it really destroys the immersion in my project.

Issue Area: Engine
Issue Type: Display
Impact: High
Frequency: Constantly
Date First Experienced: 2021-11-24 00:11:00 (-05:00)
Date Last Experienced: 2021-11-27 00:11:00 (-05:00)

4 Likes

I’ve further discovered it’s related to the “Transform” of the bones…

The Transform doesn’t change when it’s supposed to, and this happens VERY consistently in studio when just using the normal tools to move a bone. The reason why it cases separation for my parts is because these parts are mounted to the very last bone in their parent chains.

In studio I rotated the RightUpperLeg joint in my rig and it moved the clothing rig, but the bones still register at their default location visually.

image

I have no idea why the clothing is still working properly since the knee joint is still in it’s default location:

image

Hate to keep bumping the post; I’ve found a fix to the behavior in studio, just opening it in the Animation Editor and then closing the editor fixes all of the issue in studio. It still happens quite frequently in game though.

Is the character’s using LC? (Layered clothing)

No, that’s an issue with LC. LC currently only works on r15s, not skinned rigs

1 Like