- Third-person camera (or chase camera): This is the default type of camera used in Single Player, Coop, Race and Competition. This camera is an arbitrary viewpoint that "chases" the player it belongs to, allowing the user to see their character in-game as in most Sonic games. By default, the camera will follow directly behind the player at all times and cannot be manually rotated (except in development mode). If the player is playing with analog control or playing back a demo, the camera's direction is independent of the player and the user is able to rotate the camera freely; however, it will automatically turn itself to view the player if they attempt to go off-screen.
- First-person camera: This is the default type of camera used in Match, CTF, Tag and related variants, and was the type of camera originally used in Doom. The player itself acts as the camera for the game, and the view will bob up and down as the player walks or runs. Additional icons will be displayed in the HUD whenever certain power-ups (e.g., shields, invincibility, Super Sneakers) are in effect for the player. A crosshair graphic also appears by default in the center of the screen; the console variable
crosshaircan be used to either switch between the available crosshair types, or turn the crosshair off.
The player's Toggle Chasecam control, or the console variable
chasecam, can be used to toggle between the third-person and first-person cameras. If the camera gets stuck, the player's Reset Camera control, or the console command
flipcam, can be used to reset it. See Controls > Camera for other controls related to the camera.
The following console variables modify settings for the third-person camera (for Player 1 and 2, respectively):
cam2_dist: Sets the camera's distance from the player.
cam2_height: Sets the camera's height.
cam2_rotate: Sets the angle of the camera's rotation in relation to the player.
cam2_rotspeed: Sets the rotation speed of the camera in analog control and demo playback.
cam2_speed: Sets the speed with which the camera follows the player.
cam2_still: If enabled, the camera will not rotate along with the player.
flipcam2: If enabled, the camera will flip along with the player in reverse gravity.
In the OpenGL renderer, the user can adjust the field of view with the
gr_fov console variable. If
gr_fovchange is enabled, the field of view will widen as the player's speed increases to simulate the character getting further away from the camera.
Special camera effects
Linedef type 5, Camera Scanner, can be used to change the camera's distance, height and rotation when the player enters a particular sector. This is done by temporarily changing the values of
cam_rotate (or their equivalents for Player 2), and resotring them to their previous values when the player leaves the sector.
The cut-away view is is a special type of camera that temporarily allows a player to view the map from an different location than the regular camera. When linedef type 422 is triggered, an Alternative View Point will be used as the camera for a specified amount of time. However, Lua can allow any Object to be used as a cut-away view camera by modifying the player's
player.awayviewtics variables. The
player.awayviewaiming variable can also be used to adjust the vertical viewing angle used by the player's cut-away view camera. See Lua/Userdata structures > player_t for more information.
Intangible to the Camera
Normally, the camera is unable to pass through solid walls and can get stuck behind them if they block the path between the camera and the player. To prevent this, sector type 49152, Intangible to the Camera, can be applied to FOFs or PolyObjects to allow the camera to pass through them.