This is a rigged snorkel as well as scuba mask. Pretty straightforward!
Rig has controls for: - Moving the body of the mask - Adjusting the straps of the mask - Adjusting the fit of the flexible part of the mask to a face - There is a property on the "mask.body" object allowing you to modify the curvature of the mask (again, to fit different faces) - Adjusting the position of the snorkel - Adjusting the curvature of the snorkel tube piece
Everything is included in a group so it is setup (and has been used via) group library linking. There is one group for the mask, and one for the snorkel. You can proxy the snorkel.arma object and the mask.arma object on a linked instance for controlling things like the position of the mask, shape of the mask (e.g. fitting the nose and side flaps to a face, and adjusting the strap position), and moving or bending the snorkel.