Camera

From SRB2 Wiki
Jump to navigation Jump to search
This article or section is outdated and has not been fully updated to reflect the current version of SRB2.

Please help the Wiki by correcting or removing any misinformation, as well as adding any new information to the page.

In SRB2, the camera is the point that a map is viewed from. There are two main types of camera used in SRB2:

  • 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 crosshair can 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 resetcamera, can be used to reset it. See Controls > Camera for other controls related to the camera.

Camera settings

The following console variables modify settings for the third-person camera (for Player 1 and 2, respectively):

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

Camera scanner

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_dist, cam_height and cam_rotate (or their equivalents for Player 2), and restoring them to their previous values when the player leaves the sector.

Cut-away view

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.awayviewmobj and 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.

Earthquake

Linedef type 444, Earthquake, is a linedef executor that causes the camera to shake for a specified duration, simulating an earthquake.