banner
Rating
Voted0

OpenBodyCams mod

0
Mod version:1
Game version:2.4.1
The mod has been successfully tested for the absence of viruses
1849.29K23.35K

Report mod

  • image
modalImage

About This Mod

Open body camera.

An open body/head camera implementation, which is displayed on the ship's right bottom monitor, designed to provide good performance and look almost identical to the player's real-world perspective.


If LethalLib is installed, the body camera will not be available until the antenna is purchased at the store as a ship upgrade.


The camera shows only the first-person hand and hides the model from the third person, similar to third-person suits in many modes, to avoid obstructing the view. Vanilla enemies that stick to the player are also supported.


Please report any issues here, including relevant information in the Debugging section.


Features.

You can choose between the head and the torso.

The camera view is designed to be the same for local players and other players in the game.

Supports MoreCompany and AdvancedCompany cosmetics.

All enemies and terrain visible to the player are displayed as a camera.

The green flash animation used when changing targets on the radar also appears as a camera.

Performance.

The camera is added to the player's model in the engine instead of copying transformations.

The camera setup logic is performed in advance based on game events as much as possible.

Executing opt-in view bodycam in the terminal will cause the body camera to be displayed when the radar map is displayed. See the Configuration/Terminal section.

Compatibility.

Support includes MoreCompany cosmetics, AdvancedCompany cosmetics and gear, ModelReplacementAPI, and replacement of third-party LethalVRM models. You can hide when you look at other players in the TV camera, and your makeup/models will be displayed in the camera when other players look at you.


General Enhancements Supports advanced monitor sets with the option to select a monitor number for bodycam. Bodycam will override the selection made in the GeneralImprovements configuration.


TwoRadarMaps uses a different bodycam for the picture-in-picture terminal if EnablePiPBodyCam is enabled.

Settings

Camera Settings

Camera setting position mode. Head and body positions can be selected.

HorizontalResolution: The horizontal resolution of the image being processed.

FieldOfView: vertical FOV body camera view.

RenderDistance: rendering distance: far plane of the camera clip.

Framerate: The number of frames rendered per second. When set to default, the bodycam is rendered at the game's frame rate. Turning off the body camera and setting its frequency to about 75% or less of the game's average frame rate can greatly improve performance.

NightVisionBrightness: A multiplier for the brightness and range of night vision lights. A value of 1 represents the player's visual acuity.

MonitorEmissiveColour: The color emitted by the screen on which the bodysuits are displayed, expressed as numbers separated by commas, to avoid the loss of precision caused by the use of a 32-bit color.

MonitorTextureFiltering: Changes the texture filtering applied to the body camera display by sharpening the edges of Point pixels and softening colors between bilinear and trilinear pixels.

RadarBoosterPanRPM: adjusts the number of camera turns per minute; if set to 0, the camera stabilizes in the direction facing the player hosting the radar booster.

UseTargetTransitionAnimation: when enabled, the bodycam displays green flash animation when the target is changed to reflect the radar map behavior.

DisableCameraWhileTargetIsOnShip: Turns off the display when the camera target is on board. This can be used to avoid the need to create a large number of objects on board during long flights.

EnableCamera: Enabling this setting disables the display. This can be changed in the game using LethalConfig or similar mods. DisplayOriginalScreenWhenDisabled: if enabled, if the body camera does not have a valid target, or if disabled with the DisableCameraWhileTargetIsOnShip option, the main body camera will be replaced with the one on the screen. This option is currently disabled if the UseBetterMonitors option is enabled in GeneralImprovements.

Overlay.

Enable: can be used to disable an overlay that indicates why the bodybuilders are not currently available.

TextScale: A multiplier for the default font size for blend text.

The text displayed for each state can be customized:

DefaultText: DefaultText: indicates that the bodycam is in the process of being processed. It's usually empty.

BuyAntennaText: ship upgrade is enabled, but the antenna for the bodycam is not yet purchased.

AntennaStoredText: antenna purchased but saved and bodycam is not available.

TargetInvalidText: The bodycam target is invalid. For example, if the selected player is defeated and there is no corpse.

TargetOnShipText: bodycam is disabled because the target is safe on the ship.

Terminal.

EnablePiPBodyCam: Disabled by default. This adds a command to the terminal to display the camera in the corner of the radar map. When the radar map is hidden, the body camera is also hidden.

PiPPosition: Determines which corner of the radar map will be displayed to the bodybuilders.

PiPWidth: Specifies the horizontal size of the body camera view in the terminal. Does not affect the resolution of the camera rendering.

Ship Upgrade.

Enabled: Enabled by default, but only if LethalLib is present. The main body camera can only be used when purchasing an antenna propeller in the store. This propeller is only available on LethalLib.

Price of body camera update in the store. The default value is 200 credits.

Ship

.

SwapInternalAndExternalShipCameras: swaps the external and internal cameras displayed on the right side of the display array; this option has no effect if the UseBetterMonitors option is enabled in GeneralImprovements. DisableCameraOnScan.

DisableCameraOnSmallMonitor: If SwapInternalAndExternalShipCameras is not enabled, the camera becomes internal. This may slightly improve performance on board; it does not affect if the UseBetterMonitors option in GeneralImprovements is enabled.

ExternalCameraEmissiveColour: Sets the color emitted by the screen on which the external camera is displayed.

Other.

FixDroppedItemRotation: defaults to true and corrects asynchronous rotation when objects fall. See notes/Rotate items.

Debugging.

See Debugging.


Comments.

Rotate elements.

Optionally fixed an issue where items rotated asynchronously between the player throwing the item and all other customers. This was due to ignoring the rotate parameter in the function handling discarded items. This was done to ensure that the direction of the radar booster was constant for all customers in the game. The patch is designed to be graceful and allow mods to continue working if other mods apply the same fix, but can be disabled by the FixDroppedItemRotation configuration option if a problem occurs.


Debugging.

Be sure to enable Unity logging if you want to log problems that occur.


Set the UnityLogListening option in BepInEx under Logging to true.

Set the LogLevels parameter of the BepInEx parameter in the Logging.Disk section to All.

Disable UnityLogs if it is installed.

Otherwise, error messages will not be sent to the logs and the cause cannot be determined.


The logs can be found in the BepInEx folder under the mod manager profile folder (%appdata%r2modman%r2modman for r2modmanPlus-localLethalCompany [profile name]) or in the game installation folder in Steam under the game installation folder in Steam. Make sure that the file is the latest version of the game, as evidenced by the modification date.


Screen freeze/spam errors

If you encounter spam bugs or screen hangs, reproduce the problem by enabling the ReferencedObjectDetructionDetectionEnabled option in the Debug settings and providing the game log in the new theme on GitHub (see the Debug section to find the .log file). This option displays a message and a stack trace each time an object is destroyed when a bodycam object is accessed. This should point directly to the mode causing the problem.


Once the issue is resolved, normal gameplay can be resumed using BruteForcePreventFreezes. This option prevents spam errors by checking each frame that the player's displayed cosmetics have not been destroyed, and updating the list if this has happened. This can be used as a first aid to prevent the screen hanging when collisions of mods are inevitable.


Spam "Collected cosmetics".

If the message [x]cosmetics object collected for [name] appears in the console/log in large numbers, enabling PrintCosmeticsDebugInfo can provide information about why cosmetics were collected. Enable this option while you are working on a problem and publish the log to GitHub issues (see the Debugging section to find the log file). This will provide additional information about the cosmetics collected for each player and the code that caused the cosmetics collection.


Developer.

If you want to create a body camera separate from the default body camera included in this mod, add OpenBodyCams as a dependency and use OpenBodyCams.API.BodyCam.CreateBodyCam():


var doorScreen = GameObject.Find(«Environment/HangarShip/ShipModels2b/MonitorWall/SingleScreen»);

BodyCam.CreateBodyCam(doorScreen, doorScreen.GetComponent<MeshRenderer>(), 1, StartOfRound.Instance.mapScreen);

The BodyCam component is added to the provided game object and checks whether the screen it resides on is rendered using the provided renderer. The displayMaterialIndex argument specifies which of the general render materials should be replaced by the bodycam render texture. The texture at this index is initially stored in bodycam and replaces the bodycam output on the screen when SetScreenPowered(false) is called. The bodycam output can then be returned by calling SetScreenPowered(true).


The ManualCameraRenderer argument must be a map renderer whose camera field has the same link as the mapCamera field. In this case, you can directly control the TV camera.


Credits

smxrez is a 3D model of a TV camera antenna.

Similar Mods/Addons

Game Version *

2.4.1 (Zaggy1024-OpenBodyCams-2.4.1.zip)