Title: Nicolas Halper
1ACameraEngine For Computer Games
- Nicolas Halper
- Ralf Helbing
- Thomas Strothotte
Otto-von-Guericke University of Magdeburg
2- Introduction
- Camera in Game Pipeline
- The Predictive Camera Planner
- Results
- Conclusion
3Introduction
- Every game is now 3D
- Presentation of 3D world influences playing
experience - Content is becoming more involved
- Story-telling capabilities
- Tournament Spectator modes
4Previous Work
- Computer Games
- Pre-computed cut-scene
- Specialised camera routines
- Constraint Satisfaction
- Cost optimisations (Drucker 94, Bares 99)
- Robotics visual servoying (Marchand 00)
- Cinematography
- Virtual Cinematographer (He 96, Christianson
96) - Behavior-based automonous agents (Tomlinson 00)
5Current Problems
- Computer Games
- Tailored camera agents for each game
- Often confuse the player
- Constraint-Solving approaches
- Problems with visibility constraints
- Frame-Coherency in camera motion not part of
equation - Cinematography
- Computer games are as different from Movies as
Movies are from Theatre - Barwood - Limited to specific scenarios (e.g. cut-scenes)
6Motivation
- Long-term Goal
- Director chooses presentation for player
- High-level idioms built on low-level camera
constraints - Current Goal
- Fitting a Camera Engine into a game framework
- Heterogenous constraints to work together
- Achieve frame-coherent results in real-time
7Game Pipeline
Flexible constraints
Player
8Camera Module
Director
Camera Planner
Shot Template
Visibility Solver
parameterised constraints
unoccluded position
position
Emotion Template
Constraint Solver
Shot Library
solved camera state
camera state
request settings for time t
Camera Expert
Template Selector
events
next-frame camera state
Action
Lighting
9Camera Module
Director
Camera Planner
Shot Template
Visibility Solver
parameterised constraints
unoccluded position
position
Emotion Template
Constraint Solver
Shot Library
solved camera state
camera state
request settings for time t
Camera Expert
Template Selector
events
next-frame camera state
Action
Lighting
10Constraint Solver
11Constraint Solver
- Constraint Set taken suitable for computer games
- Achieve certain desired shots
- Constraint-Solving pipeline
- Allows heterogenous constraints to be solved
together
12Constraint Solver
- For each constraint
- For each frame, compute goal camera state
- Alter the current camera state to converge
towards the goal camera state - Satisfy constraints within tolerance regions
13(No Transcript)
14Inside Tolerance region pos ratio (optimal
pos)
Outside Tolerance Region clamp to min/max
15Inside Tolerance region pos ratio (optimal
pos)
Outside Tolerance Region clamp to min/max
16Inside Tolerance region pos ratio (optimal
pos)
Outside Tolerance Region clamp to min/max
17(involved process more on this later)
18(No Transcript)
19Visibility Solver
Camera Planner
Visibility Solver
unoccluded position
position
Constraint Solver
solved camera state
camera state
Camera Expert
20Potential Visibility Regions(PVR)
- Method introduced to solve visibility constraints
- Flexible
- Robust
- Multiple points can be specified
- PVR defined by geometry
- Input at run-time
- Adapt to constraints
21PVR
If camera cant see the target, target cant see
the camera
Where can we move the camera, so that it can
see the target?
target
Select the best colour-coded region
22PVR Multiple Targets
Target A
Target B
23PVR Multiple Targets
Target A
Target B
24PVR Flexibility
PVR constrained to .
25Camera Expert
Camera Planner
Visibility Solver
unoccluded position
position
Constraint Solver
solved camera state
camera state
request settings for time t
Camera Expert
26Camera Expert
- Satisfy visual goals and maintain frame-coherence
- Estimate future conditions
- Adapt camera trajectory appropriately
27Camera Expert
Goal is to find next frame state for the
camera
past cameras
past targets
28Camera Expert
Goal is to find next frame state for the
camera
First predict according to past camera motion
what state camera will be in at time t in future
29Camera Expert
First predict according to past camera motion
what state camera will be in at time t in future
Also predict target state at time t in future
past cameras
past targets
30Camera Expert
First predict according to past camera motion
what state camera will be in at time t in future
Also predict target state at time t in future
past cameras
past targets
31Camera Expert
past cameras
past targets
32Camera Expert
Now compute expected camera position for
next frame such that at time t we will arrive at
FPSC
past cameras
past targets
33Camera Expert
Now compute expected camera position for
next frame such that at time t we will arrive at
FPSC
past cameras
past targets
34Camera Expert
Camera Expert works each frame to give smooth
motion over time
35Results
- Subtle
- Attic Scene
- Highly complex spatial properties
- 50k polygons, each tested for occlusion
- City Scene
- 200k polygons
- Reduced 1.1k polygons for occlusion tests
- Medieval Scene
- Tightly enclosed environment
- Athletic character!
36Conclusion
- Arbitrary dynamic scenes and spatial complexities
of environments - Efficient and highly flexible visibility
constraints using PVR - Compute from existing state and motion
characteristics to adapt to future conditions - Combine heterogenous constraints in
frame-coherent manner - Results are fast, consistent, robust
37Current and Future Work
- Spectator Mode
- Networked Tournament game
- Spectators follow the action
- Layed the ground work for Director
- Encoding some cinematic idioms
- Develop camera language suitable for interactive
techniques