An all new library to make any level more dynamic!
Add custom camera work to every stage! Make more dynamic setpieces! Allow for better depth perception! Guide players without needing arrow signs!
Download the library below via GitHub!
Add custom camera work to every stage! Make more dynamic setpieces! Allow for better depth perception! Guide players without needing arrow signs!
Download the library below via GitHub!
Tilt the 2D camera! Allow it to better show areas ahead!
Pull the camera back, show off your level, do something cool and new!
Help hide ugly teleports with pizzaz!
Unlock the powers that Sega and Sonic Team use in their own sonic games!
With several conditions to set to automatically restore the default cam
Add “lua.solcam = on” to your levelheader to enable the camera
Create a control sector
Set up a linedef trigger
Set a line on the sector to type 443, Call Lua Function
Input the desired SolCam function in the “Function Name” field to select a mode
Add "lua.solcam = on" to your levelheader to enable the camera (yes this means sol cam only works in supported maps, even via lua to prevent camera issues)
Call the functions below to transition the camera
BINARY MAPPING IS NOT RECOMMENDED FOR THIS TOOL
Using any autocancel condition will cause a camera snap, and will not be interpolated! If you wish to have a smooth return to default controls, please use the Default camera transition
This is the "OFF" mode of SolCam, where other cameras can take over, or where the player camera has input.
Argument 1: Camera Transition Time [ticks]
Argument 2: Angle for Exiting Camera [degrees]
Linedef Angle: Angle for Exiting Camera [degrees]
player: The Player this function is being called for [player_t]
transitiontime: the time for the camera transition [ticks]
XYangle: The angle to transition the camera to before giving control back to the player [angle_t]
Set a fixed camera that follows the player.
Argument 1: Camera Transition Time [ticks]
Argument 2: Camera Distance from Player [fracunits]
Argument 3: Angle from Player [degrees]
Argument 4: Camera Height Offset relative to Player [fracunits]
Argument 5: Autocancel after [ticks]
String Argument 2: Extra Autocancel Condition
Front Side X Offset: Camera Distance from Player [fracunits]
Linedef Angle: Angle from Player [degrees]
Front Side Y Offset: Camera Height Offset relative to Player [fracunits]
player: The Player this function is being called for [player_t]
transitiontime: Camera Transition Time [ticks]
radius: Camera Distance from Player [fixed_t]
XYangle: Angle from Player [angle_t]
Zheight: Camera Height Offset relative to Player [fixed_t]
canceltics: Autocancel after [ticks] (set to zero to not cancel)
cancelflag: Extra Autocancel Condition [string]
“jump”: SolCam cancels upon a jump
“spring”: SolCam cancels when sprung
“grounded”: SolCam cancels when you hit the ground
“carry”: SolCam cancels when you get carried by something
“jump”: SolCam cancels upon a jump
“spring”: SolCam cancels when sprung
“grounded”: SolCam cancels when you hit the ground
“carry”: SolCam cancels when you get carried by something
Like the original Alternate Viewpoint, except upgraded!
Note, this requires you to place an Alternate Viewpoint Thing to use this mode, and either tag it directly to the linedef (UDMF) or tag the sector its in to the linedef (Binary)
Argument 1: Camera Transition Time [ticks]
Argument 2: Tag of Alternate Viewpoint Mapthing [number]
Argument 5: Autocancel after [ticks]
String Argument 2: Extra Autocancel Condition
Front Side X Offset: Camera Transition Time [ticks]
Tag: Sector tag where the Alternate Viewpoint Mapthing resides [number]
player: The Player this function is being called for [player_t]
transitiontime: Camera Transition Time [ticks]
pointX: X position of the camera [fixed_t]
pointY: Y position of the camera [fixed_t]
pointZ: Z position of the camera [fixed_t]
cancelticks: Autocancel after [ticks] (set to zero to not cancel)
cancelflag: Extra Autocancel Condition [string]
“jump”: SolCam cancels upon a jump
“spring”: SolCam cancels when sprung
“grounded”: SolCam cancels when you hit the ground
“carry”: SolCam cancels when you get carried by something
Like the original Alternate Viewpoint, except upgraded!
Note, this requires you to place an Alternate Viewpoint Thing to use this mode, and either tag it directly to the linedef (UDMF) or tag the sector its in to the linedef (Binary)
Argument 1: Camera Transition Time [ticks]
Argument 2: Tag of Alternate Viewpoint Mapthing [number]
Argument 5: Autocancel after [ticks]
Angle of mapthing: Direction to Point the Camera in [angle]
Tilt of mapthing: The vertical tilt angle of the Camera [angle]
String Argument 2: Extra Autocancel Condition
Front Side X Offset: Camera Transition Time [ticks]
Tag: Sector tag where the Alternate Viewpoint Mapthing resides [number]
Angle of mapthing: The direction in which the camera points [angle]
player: The Player this function is being called for [player_t]
transitiontime: Camera Transition Time [ticks]
pointX: X position of the camera [fixed_t]
pointY: Y position of the camera [fixed_t]
pointZ: Z position of the camera [fixed_t]
angle: angle for where the camera should look [angle_t]
tilt: the tilt angle for where the camera should look [angle_t]
cancelticks: Autocancel after [ticks] (set to zero to not cancel)
cancelflag: Extra Autocancel Condition [string]