Object selection is a primary interaction technique which must be supported by any interactive three-dimensional virtual reality application. Although numerous techniques exist, few have been designed to support the selection of objects in dense target environments, or the selection of objects which are occluded from the user's viewpoint. There is, thus, a limited understanding on how these important factors will affect selection performance. In this paper, we present a set of design guidelines and strategies to aid the development of selection techniques which can compensate for environment density and target visibility. Based on these guidelines, we present two techniques, the depth ray and the 3D bubble cursor, both augmented to allow for the selection of fully occluded targets. In a formal experiment, we evaluate the relative performance of these techniques, varying both the environment density and target visibility. The results found that both of these techniques outperformed a baseline point cursor technique, with the depth ray performing best overall.