How to make part of the mesh follow a bone without deforming it

I am rigging a model of a creature which has sort of shields on its front legs, but I don't want those shields to be deformed, when I pose the leg. The rest position looks like this:

But when I use the bone, which controls the lower arm, it turns out like this:

How can I make the shield follow the arm without deformation? It's attached to the arm (I can't separate it).

• You need to leave only the weights of a bone that the shield is attached to. It looks like you have weights from other bones on that part of the mesh. Mar 22 '15 at 20:56
• Anyone knows a quick way to clean the weights from selected bone? Mar 22 '15 at 21:14

Like it was stated, you need to remove unneeded vertex groups from the shield.

In Weight Paint mode, select the vertices you want to clear. Back in the Vertex Groups, click the down arrow icon. There's an option to either remove all groups from selected vertices, or only the active group. Best to remove all groups in your case and manually add the driving group back.

this will remove the selected vertices from all groups except the active one :

• select the shield vertices
• select the vertex groub with the shield-bone name
• run the script

import bpy

obj = bpy.context.object
verts = [i.index for i in obj.data.vertices if i.select]
act_g = obj.vertex_groups.active
groups = [g for g in obj.vertex_groups if g.name != act_g.name ]
bpy.ops.object.mode_set(mode = 'OBJECT')
for g in groups :
g.remove(verts)

• not that this wouldn't work, but I prefer solutions, where I know, what's going on there and I don't know much about python Mar 23 '15 at 7:37