Interactive Virtual Cinematography

Interactive virtual cinematography is the process of visualising the content of a virtual environment by positioning and animating a virtual camera in the context of interactive applications such as a computer game. A virtual camera represents the point-of-view of the player through which she perceives the game world and gets feedback on her actions. Camera placement and animation in games are usually directly controlled by the player or statically predefined by designers. Direct control of the camera by the player increases the complexity of the interaction and reduces the designer’s control on game storytelling. A completely designer-driven camera releases the player from the burden of controlling the point of view, but might generate undesired camera behaviours. Automatic camera control aims to define an abstraction layer that permits to control the camera using high-level and environment-independent rules. The camera controller should dynamically and efficiently translate these rules into camera positions and movements before (or while) the player plays the game. Automatically controlling the camera in virtual 3D dynamic environments is an open research problem and a challenging task. From an optimisation perspective it is a relatively low dimensional problem (i.e. it has a minimum of 5 dimensions) but the complexity of the objective function evaluation combined with the strict time constraints make the problem computationally complex. An optimal automatic camera control system should provide the right tool to allow designers to place cameras effectively in dynamic and unpredictable environments. However, there is still a limit in this approach: to bridge the gap between automatic and manual cameras the camera objective should be influenced by the player. The camera control system should be able to learn camera preferences from the user and adapt the camera setting to improve the player experience. Therefore, we propose a new approach to automatic camera control that indirectly includes the player in the camera control loop. To achieve this goal we have approached automatic camera control from a numerical optimization perspective and we have introduced a new optimization algorithm and camera control architecture able to generate real-time, smooth and well composed camera animations. Moreover, we have designed and tested an approach to model the player’s camera preferences using machine learning techniques and to tailor the automatic camera behaviour to the player and her game-play style. Experiments show that, the novel optimisation algorithm introduced successfully handles highly dynamic and multi-modal fitness functions such as the ones typically involved in dynamic camera control. Moreover, when applied in a commercial-standard game, the proposed automatic camera control architecture shows to be able to accurately and smoothly control the camera. Finally, the results of a user survey, conducted to evaluate the suggested methodology for camera behaviour modelling and adaptation, shows that the resulting adaptive cinematographic experience is largely favoured by the players and it generates a positive impact on the game performance.