Serious Sam Fusion 2017 (beta)

Serious Sam Fusion 2017 (beta)

32 ratings
[Resource] Free Spectator Camera
   
Award
Favorite
Favorited
Unfavorite
Type: Additions
File Size
Posted
Updated
111.076 KB
1 Oct, 2021 @ 7:30am
19 Jan, 2024 @ 4:21pm
3 Change Notes ( view )

Subscribe to download
[Resource] Free Spectator Camera

Description
This mod allows mappers to implement Spectator Cameras into their maps that the user can freely fly around. I mainly made this for Procedural Skyways, but I figured it could be of use to others.

--- For Users ---
When in control of a Free Cam, the controls by default are as follows:

Move Forwards: W
Move Backwards: S
Move Left: A
Move Right: D
Move Up: F
Move Down: Left Alt
Fast Movement: Left Shift
Reset Position: R

These can be changed by using the command "globals.SetFreeCamControls()" in the console, and then following the instructions. You can review the controls you have set with "globals.ViewFreeCamControls()". Note that some keys aren't recommended for use with this due to conflicting spectator controls, hence why Space isn't the default for Up. Also currently no support for controllers, VR or otherwise.

A couple specifics on the functionality:
-The script picks up that the camera is active when the camera is turned at all.
-The camera will collide with walls and barriers, though the detection is rather simple. Rubbing it against certain things can result in jittering, and I wouldn't be suprised if you could clip through certain things.

--- For Mappers ---
Any Spectator Camera with "FreeCam" in the entity name will have the functionality; While it isn't required, I would also suggest including "Free" or "Free Cam" somewhere in the camera's display name for the sake of the user. Also, you can include "Death" in the entity name of one of the Free Cams to have that camera teleport to the local player when they die. Recommended that any Free Cams have 0 for both Heading limits so they can rotate infinitely in either direction.

There are also some global script variables exposed for scripting use:
worldGlobals.FreeCam_SpeedOverride = #
Set once at the start of the map. Overrides the speed that the camera moves. Default is 15.

worldGlobals.FreeCam_BoundaryOverrides = {MinX=__,MaxX=__,MinY=__,MaxY=__,MinZ=__,MaxZ=__}
Set once at the start of the map. Overrides how far out the camera can go. Default is 5000 units in each direction.

worldGlobals.FreeCam_Disable = true/false
When set to true, disables Free Cam movement. Can be turned on and off whenever.

worldGlobals.FreeCam_DefaultPlacement
Allows you to override the default placement (used for Reset Position) for any given Spectator Camera. First you want to make sure the "worldGlobals.FreeCam_DefaultPlacement" table exists in the first place (for users who may not have the mod), and then do "worldGlobals.FreeCam_DefaultPlacement[CameraEntity] = CameraPlacement", where CameraEntity is the Spectator Camera, and CameraPlacement is the new default placement (QuatVect) of the camera.
1 Comments
The solar flare. 1 Oct, 2021 @ 8:02am 
Movie makers take note