Q:

Issues rigging and skinning a characters helmet

I'm having issues trying to rig and skin a characters helmet. I'm using Blender 2.78c.

I've tried the following:
1) Joining the head and helmet meshes together.
2) Parenting the helmet to the head bone.
3) Parenting the helmet mesh to the head mesh.
I've ensured that the weights are painted on the helmet so that the head bone 100% influences all of the helmet.
But whatever I try it does this when I move the head bone...

ie the helmet crashes through the characters head mesh and looks all wrong! I'm simply after the helmet moving realistically when the characters head moves and it staying in line with the top of the characters head.
I could really do with some points in the right direction as to the correct process or techniques to use to get it to work please.
All thoughts very gratefully appreciated. Many thanks in advance for your help.

A:

I'm assuming that helmet and head are the same mesh, I would go this way: create a new bone which will be the "helmet" bone, and parent it (keep offset) to the head bone.
During weight assignement, the main error is to think that if vertices are 1.0 to the head bone they will follow the bone movements exactly: this is not true, unless those vertices have weight assignement relative to the head bone ONLY.
So probably in your actual rig vertices form helmet and top head vertices have the same weight relative to the head bone (probably 1.0) but have different weights relative to others bones (neck or others), so they don't move together.
If you want to check all assignement of a vertex, select it in edit mode and search the "vertex weights" tab in the "N" properties panel.
A precisation: as Blender does a normalization of weight values, if a vertex is assigned to a bone only, it will move exactly with that bone, even if the weight is very low (0.01 is infinitely greater than zero).

P.S.
Looking better at your picture it seems that the head is moving ok, while the helmet is overshooting: this is probably due to a double parenting: if the helmet origin is parented to the head bone and the helmet vertices are "armature locked" to the same head bone, a movement of that bone will result in a double movement of the helmet. 

