This can be done by ensuring the transparent mask is rendered before the model (but after the background). That way, when the model is rendered, the GPU will not render the parts of the model that are behind the transparent mask, because the depth buffer will indicate that the new pixels are behind something that has already been rendered. If the mask is full transparent, then the background will show through, because it was rendered before the mask.
By default, Cocos3D renders all opaque objects (
isOpaque = YES) first, then renders non-opaque objects (
isOpaque = NO), in order of distance from the camera. This is how a background object normally shows through a closer transparent (or translucent) object.
You can modify the rendering order of non-opaque objects by using the
zOrder property. Have a look at the notes for that property for more info. One important point is that the model will have to be non-opaque (
isOpaque = NO), otherwise it will be rendered at the start, when all opaque objects are rendered.