Table of Contents

Class ClientCameraSettings

Namespace
FishMMO.Client
Assembly
FishMMO.Client.dll

Camera preferences the player owns: how far the mouse turns the view, and how its edges are smoothed.

public static class ClientCameraSettings
Inheritance
ClientCameraSettings
Inherited Members

Remarks

Separate from ClientDisplaySettings because it writes to a scene object rather than to Unity's global state, and that object does not exist for the whole session. The camera lives in ClientPreboot and is picked up by KCCPlayer when it takes ownership, so a value applied at boot has to survive until then — it does, because RotationSpeed is a plain field on a component that outlives the scene loads between boot and play.

Sensitivity only has an observable effect while the cursor is locked, which is the state the mouse drives the camera in. With mouse mode on the cursor is free and the camera does not turn at all, so the slider looks broken if tested there — it is not, there is simply no look input to scale.

Fields

DefaultAntialiasing

Edge smoothing when nothing has been chosen.

public const ClientCameraSettings.AntialiasingOption DefaultAntialiasing = Balanced

Field Value

ClientCameraSettings.AntialiasingOption

Remarks

SMAA rather than Off. The camera ships with antialiasing disabled, which is what made character silhouettes visibly stair-stepped; a default that looks broken is a poor one. Chosen over FXAA because it keeps texture detail instead of softening the whole frame, and over TAA because TAA ghosts on a camera that orbits the player.

DefaultLookSensitivity

Sensitivity when nothing has been chosen.

public const float DefaultLookSensitivity = 0.5

Field Value

float

Remarks

Half, not the 1.0 authored on the camera. That value turns the view faster than anyone tested comfortable — a new player would have to find this slider before the game felt right, which is the wrong way round for a default. Only players who have never touched the slider are affected; a saved value always wins.

MaximumLookSensitivity

Fastest the view may turn.

public const float MaximumLookSensitivity = 1

Field Value

float

Remarks

One, down from an initial five. The camera's authored 1.0 already turns faster than comfortable, so everything above it was travel spent on speeds nobody picks — and it crammed the usable band into the slider's first tenth. The range a control offers is a claim about where the answer lies; this one now spans it rather than hiding it.

MinimumLookSensitivity

Slowest the view may turn. Above zero: zero is a camera that cannot be moved.

public const float MinimumLookSensitivity = 0.1

Field Value

float

Methods

ApplyAntialiasing(AntialiasingOption)

Writes an antialiasing mode onto the camera.

public static bool ApplyAntialiasing(ClientCameraSettings.AntialiasingOption option)

Parameters

option ClientCameraSettings.AntialiasingOption

The mode to apply. An unrecognised value falls back to the default.

Returns

bool

true if a camera received it; false if there is none yet.

ApplyLookSensitivity(float)

Writes a look sensitivity onto the camera and remembers it.

public static bool ApplyLookSensitivity(float value)

Parameters

value float

Sensitivity multiplier. Clamped to the supported range.

Returns

bool

true if a camera received the value; false if there is none yet.

Remarks

Clamped rather than trusted. The value is a float in a text file the player can edit, and it multiplies raw mouse delta: a large one makes the view unusable at exactly the moment the player would need to reach the menu to put it back, and zero makes the camera immovable.

ApplySaved()

Applies the stored look sensitivity to the live camera.

public static void ApplySaved()

Remarks

Reports what it did, at Debug. This apply is the one that decides whether a player's saved sensitivity is honoured, and it previously failed in total silence: the value was stored, the options panel displayed it, and the camera ran at its authored speed for the whole session with nothing anywhere saying so. A line here is what turns "the slider feels wrong" from a guess into something answerable from a log.

Only this path logs. ApplyLookSensitivity is also called for every value change while the player drags the slider, which would be pure noise.

ApplySavedAntialiasing()

Applies the stored antialiasing mode to the live camera.

public static void ApplySavedAntialiasing()