A Camera Engine for Computer Games
In Eurographics 2001:
Many computer games treat the user in the "1st person" and bind the camera to his or her view. More sophistication in a game can be achieved by enabling the camera to leave the users’ viewpoint. This, however, requires new methods for automatic, dynamic camera control. In this paper we present methods and tools for such camera control. We emphasize guiding camera control by constraints; however, optimal constraint satisfaction tends to lead to the camera jumping around too much. Thus, we pay particular attention to a trade-off between constraint satisfaction and frame coherence. We present a new algorithm for dynamic consideration of the visibility of objects which are deemed to be important in a given game context.
Download full paper here [PDF].
Section 5 - Implementation and Evaluation
We include videos (DIVX, Intel Indeo 5.1, and QT)* captured in real-time from
an Athlon 800Mhz with 128MB RAM and GeForce graphics card, and demo executables
for the evaluation samples below. DIVX provides the best size compression
and visual quality, so we recommend installing the codecs if you have not already
got them. To run the executable successfully, you need to download the
relevant DLLs and meet the system requirements
outlined below. Note: these demos are quite demanding (50,000 - 200,000 polygons)
and induce a serious "stress test" on the system. On less performant machines,
try the demos on "Effects of Predicting Camera State".
*due to server size contraints, videos are currently unavailable for download.
Send me an email to get a hold of them somehow...
Bee in a cluttered attic:
[avi(DIVX 7.2mb, Indeo 13.6mb)][qt 16.3mb]
Helicopter scene (see below)
Here we show successive results of applying camera constraint settings and features:
[avi(DIVX 12.9mb, Indeo 19.4mb)][qt 50.9mb].
Case 1: no occlusion avoidance, hard constraints
[avi(DIVX 6.0mb, Indeo 20.7mb)][qt 6.5mb]
This is a large scene comprising over 200k polygons, but uses reduced
occlusion geometry (~3k polygons) to represent the detailed scene.
The frame-rate loss using the camera solver is negligible.
System Download and Requirements
*due to server size contraints, I've been unable to include the demo or videos for download. If you really want to give it a try, send me an email and I'll see how I can transfer the files to you.