The Virtual Cinematographer: A Paradigm for Automatic Real-Time Camera Control and Directing
This paper presents a paradigm for automatically generating complete camera specifications for capturing events in virtual 3D environments. We demonstrate a fully implemented system, called the Virtual Cinematographer, as it is applied to the virtual “party” setting. The Virtual Cinematographer is implemented as a hierarchical finite state machine. Cinematographic expertise in the form of film idioms is encoded as a set of small finite state machines organized as a directed graph through call/return conventions and exception handling mechanisms. Each idiom is responsible for capturing a particular type of scene, such as three virtual actors conversing, or one actor moving across the environment. The idiom selects shot types and the timing of transitions between shots to best communicate events as they unfold. A set of camera modules, shared by the idioms, is responsible for the low-level geometric placement of specific cameras for each shot. The camera modules are also responsible for making subtle changes in the virtual actors’ positions to best frame each shot. We discuss some basic heuristics of film making and show how these ideas are encoded in the Virtual Cinematographer.
Copyright © 1996 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or firstname.lastname@example.org. The definitive version of this paper can be found at ACM's Digital Library -http://www.acm.org/dl/.