banner
Rating
Voted0

OpenBodyCams mod

0
Mod version:1
Game version:2.2.4
The mod has been successfully tested for the absence of viruses
1649.29K15.18K

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 so that it is displayed equally to 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 in camera view.


Performance:


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


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


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.

Camera configurations

Camera Options

Camera setting position mode. You can select the position of the head or the body.

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. By default, rendering occurs at the frame rate of the game and has the least impact on 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 from the screen on which the bodysuits are displayed, expressed as numbers separated by commas, to avoid loss of precision due to the use of 32-bit colors.

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 the ship. This can be used to avoid the need to handle a large number of objects on the ship during long runs.

EnableCamera: Enabling this setting disables the display. This can be changed in the game using LethalConfig or similar mods.

DisplayOriginalScreenWhenDisabled: when enabled, the primary bodycam will be displayed on the screen when the current target is not on the bodycam or when it is disabled by the DisableCameraWhileTargetIsOnShip option. This option is currently disabled if the UseBetterMonitors option is enabled in GeneralImprovements.

Terminal.

Enable PiPBodyCam: Disabled by default. This adds a body camera display command to the terminal that shows the body 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 the bodybuilders will see.

PiPWidth (width): Sets the horizontal size of the body camera view on 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 at 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 screen array; does not affect if the UseBetterMonitors option is enabled in GeneralImprovements.

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.

Limit the frame rate.

As noted above, best performance is achieved when frame rate limiting is not used. Forcing a camera to render outside the rendering pipeline at regular intervals seems too costly. Therefore, setting a frame rate limit of 30 fps or higher can result in a significant reduction in the game's frame rate. Rotation of objects.

Optionally fixed an issue where items rotated asynchronously between the player throwing the item and all other customers, due to the fact that the rotation parameter was ignored in the function handling the abandoned items. This was because the rotation parameter was ignored in the function handling the discarded items. This was done to ensure that the orientation of the radar booster was constant for all customers in the game. The patch is designed in such a way that it works gracefully and allows mods to continue to work if other mods apply the same patch, but it can be disabled using 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 indicated by the update 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 GitHub theme (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 the PrintCosmeticsDebugInfo feature 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 shared materials in the render should be replaced by the bodycam render texture. The texture at this index is initially stored by 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, the target of the camera can be controlled directly.


Credits

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

Similar Mods/Addons

Game Version *

2.2.4 (Zaggy1024-OpenBodyCams-2.2.4.zip)