1. A method comprising: acquiring depth data of a subject with a depth sensor, including acquiring depth data of at least one of the subject's hands; tracking the subject's movements using the acquired depth data, including: applying a classifier to the acquired depth data to segment a group of pixels corresponding to the subject from the acquired depth data to form segmented depth data; identifying a plurality of features of the subject in segmented depth data; obtaining three-dimensional positions corresponding to the identified plurality of features from segmented depth data; and constructing a three-dimensional model of the plurality of features from the three-dimensional positions; constructing a three-dimensional scene including a plurality of virtual objects; inserting the three-dimensional model into the three-dimensional scene; determining whether a distance between the subject and a screen is greater than a an average virtual distance between a virtual object and the screen; causing to be displayed in a three-dimensional display the subject's movements interacting with the virtual object in the three-dimensional scene upon a determination that the distance between the subject and the screen is greater than an average virtual distance between a virtual object and the screen; and using the acquired depth data of the at least one of the subject's hands, dynamically rendering a topmost one of the plurality of virtual objects caused to be displayed in the three-dimensional display to be progressively transparent in proportion to a distance between the at least one of the subject's hands and the screen as the at least one hand moves closer to the screen and progressively visible as the at least one hand moves away from the screen, wherein the progressively transparent topmost virtual object reveals other visible objects of the plurality of virtual objects previously obscured by the topmost one of the plurality of virtual objects before becoming progressively transparent.