There are many ways to create a complex mask. Sometimes it's the
case that one method is better than another given the information
being selected and sometimes it's just that you are used to one
way or another of doing it. Often mask creation is a multi step
process - an initial mask is created and then refined using various
strategies. It always helps, of course, to start with the best mask
possible so that subsequent steps are faster.
One method of creating masks, especially when a sky needs to be
isolated from a complicated horizon, is to use one of the RGB channels
as a starting point for a selection. These channels are grayscale
renderings that can be used as an alpha channel to create a selection.
The trick is to examine each of the channels in turn and find the
one that has the most contrast between the area where your selection
will be and its adjacent areas. When using the alpha channel to
make a selection, where the channel is white the pixels will be
selected and where it is black they will be excluded.
Look at the following image as an example in which we want to create
a mask for the sky:
See the difference between the red channel and the
Notice how the blus channel has much greater contrast
between the sky and the land and the tree. In particular, the difference
with the tree is critical because it would be painstaking to have
to distinguish these sections from each other.
Our strategy will be to duplicate the blue channel,
thereby creating a new alpha channel. Then we will make an adjustment
to it to further differentiate the contrast - ideally we'd like
the sky to be white and the rest of the image to be black. Here
is the channel after an adjustment:
While there is likely going to need to be some further
work to remove the white building from the selection. In this case,
that will be fairly trivial, especially compared to attempting to
remove an element like the tree from the selection.
Once the alpha channel has been adjusted (you can
do this with curves and then refine it further by painting with
a white or black brush on the image), you can cmd/cntl-click the
channel to activate it as a selection to be used while making adjustments
to the image itself.