1
$\begingroup$

The majority of my question is identical to this one:
Cloth sim : collision with external linked group meshes
The OP found a workaround, so it was never really answered. I wasn't sure if there was a way to "reactivate" the question, hence my duplicate.

I have a rig that I created with the Rigify add-on (first time I've used it, and little experience with rigs in general). I believe I skinned & grouped it correctly, per the Humane Rigging videos. I linked it from a second blend file and made a proxy. I put a simple baggy robe mesh over the character mesh, with the intent of using the cloth simulation to make the robe flow properly as the character moves into the final position.

Here's where it gets tricky. I need to add a collision modifier to the character mesh - but where is it? It's not on the Outliner, and selecting it in the 3D View just selects the linked group. Some experimenting showed that I can make a separate proxy for the mesh, but it's not connected to the rig.

I thought the second answer on this post was a solution, but I couldn't get it to work; I'm not sure it would be any different than the mesh proxy I already tried:
How can I modify the mesh of a linked character?

Any ideas, pointers to videos or tutorials, etc., are greatly appreciated. I can post blend files if no one sees an obvious problem with what I'm doing.

[Update 1] I've created four simple blend files to demonstrate the problem. They're very simple, low-res examples to reduce the file size.

  1. char.blend - a simple 4-bone FK armature with a rough cylindrical shape.
  2. scene_appended.blend - a scene that appends char.blend, adds a collision modifier to the skin mesh, and drapes a cloth over it. This works as expected.

In char.blend, for linking via a group, I wasn't sure if I was supposed to include the mesh in the group, so I did it both ways.

  1. scene_linked-rig.blend - the same scene, but it links a group in char.blend containing just the armature (rig_group).
  2. scene_linked-rig-skin.blend - the same scene, but it links a group in char.blend containing the armature and the skin mesh (rig-skin_group).

With (3) and (4), I have no idea what to do, since I can't find the mesh in order to attach the collision modifier. I've tried all the combinations of "make local", "make single user", etc., that I can think of, but nothing seems to work.

[Update 2] Playing more with these simple files, I discovered that adding the collision modifier in char.blend works. Oddly, this didn't work with my real models. Unless I did something wrong. It's still not ideal, since I can't figure out how to change (or even find) the modifier in the scene if I need to.

$\endgroup$
  • $\begingroup$ I didn't do a very good job of stating the problem here, and it's actually broader than I described. I'm going to abandon it and repost as 3-4 separate questions. Can someone tell me the proper way to close out this question? I could post an answer saying that I'm abandoning it, but I was wondering if there's a better way. $\endgroup$ – Jabberwock Jun 29 '16 at 15:14
2
$\begingroup$

I think I found the answer, at least for this specific situation. It was in "How can I modify the mesh of a linked character?", but it took me a while to figure out how to make it work. Using scene_linked-rig-skin.blend above:

  1. The rig (char.blend) is already linked in as a group and proxied, according to instructions found elsewhere. The group contains the rig and the mesh (and should contain any other necessary objects). Note that the "group instance" Skin is visible but outlined in dark red (as is the rig, which is in the same group).
    Linked & Proxied Skin
  2. I linked the Skin object from the same file (appending, as mentioned in the link above, seemed to do the same thing). The Skin is outlined in blue. The Physics tab options are all grayed out.
    Linked Skin Object Outliner & Physics tab
  3. With the Skin still selected, I did "Object... -> Make Local -> Selected Objects". The Skin outline changed to green and the Physics options became active. I clicked on "Collision".
    Localized Skin Object Outliner + Collision Selected
  4. Now the cloth simulation works! The Skin also follows the rig (you can't see it very well since it's under the cloth).
    Cloth Simulation

A few interesting notes:

  1. The skin stays with the rig, even though it's not a child of the rig (at least not according to the Outliner). [Update] As mentioned by Jerryno below, this is due to the armature constraint. Parenting the skin to the rig isn't necessary (I had no idea!).
  2. This still doesn't work in my "real" scene (i.e., the one that prompted me to ask this question). But it does if I link my "real" rig into a new file. I suspect some data-block is stuck somewhere.
  3. The mesh data-block is still linked (and hence not editable). This will make the file size smaller. It can also be made local, if desired, by choosing "Selected Objects and Data" in step 3.
  4. It only appears to work correctly if the 3D cursor is at the origin when the rig is linked. The rig appears where the 3D cursor is, but the skin only appears at the origin, and the offset is fixed from then on. If you move the (localized) skin to the rig, the deformations get all wonky. Maybe someone else has a workaround for this.
  5. If you want to tie the cloth to the armature (e.g., for clothing), CTRL-P will parent it to the proxy of the armature, and things won't work correctly. Since you can't select the original armature directly, you have to then edit the armature modifier and choose the original armature.
$\endgroup$
  • $\begingroup$ add 1. The staying of the skin is not determined by its child relation but by its armature modifier. If you unparent an object from armature, and leave the modifier, it will still deform. $\endgroup$ – Jaroslav Jerryno Novotny Jul 1 '16 at 5:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.