Aartyns-fogclear icon

fogclear

This module removes the fog and allows you to see further.

By Aartyns
Last updated 17 hours ago
Total downloads 1473
Total rating 1 
Categories Mods Quality Of Life Misc AI Generated
Dependency string Aartyns-fogclear-0.3.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

Contact / 联系我

If you have any questions, feel free to contact me ↓ Email: [email protected] QQ: 670155978

如有任何问题,请与我联系 ↓ 邮箱:[email protected] QQ:670155978


FogClear

Fog and view-distance mod for R.E.P.O. (BepInEx 5 / Harmony).

Removes the room fog while keeping the original atmosphere, and extends the camera far clip plane so distant rooms and props render clearly — without touching the light or shadow budget that the game relies on for performance.

Features

  • Fog toggle owned by the mod. Fog is driven purely by the hotkey state: on = force RenderSettings.fog = false, off = force RenderSettings.fog = true. It never reads the game's state machine back, so SpectateCamera cannot flip it under you. The toggle responds instantly — the change is applied the same frame the key is pressed, with no latency and no missed presses.
  • View distance that stays smooth. ExtendViewDistance only changes the real render camera's farClipPlane and the fog switch. It does not raise GraphicsManager.lightDistance or QualitySettings.shadowDistance any more — that coupling was the entire reason earlier versions stuttered the moment you turned view distance on. View distance is now on by default at 100 m.
  • Light distance and shadow distance are separate switches, on by default. Lighting.ExtendLightDistance and Lighting.ExtendShadowDistance default to on and are hard-capped (40 m / 60 m) so the starting values equal the game's own top graphics preset; turn them off in the cfg if a room starts to stutter. The game activates a light when distance < GraphicsManager.lightDistance * PropLight.lightRangeMultiplier, so even a +5 m nudge gets multiplied across every room in the map and switches on dozens of lights at once.
  • Single write point per frame. State is pushed from a CameraUpdate.LateUpdate prefix — the moment right before the game renders its cameras — instead of four postfix hooks fighting the game every frame.
  • Throttled light refresh. LightManager.UpdateInstant() starts a fade coroutine per light; it is now rate-limited (3 s by default) instead of being called on every write.
  • Hotkey toggle. \ by default, rebindable in the cfg. No extra diagnostic hotkeys: every toggle writes one state line to the log (fog values, far clip, light counts, write rate), so nothing else competes for a key.

Configuration

Edit BepInEx/config/com.fogclear.repo.cfg after the first launch.

Section Setting Default Description
General Enabled true Start with fog removal on
General ToggleKey Backslash Hotkey that toggles fog removal
General ConfigSchema 5 Internal, do not edit
ViewDistance ExtendViewDistance true Extend camera far clip plane
ViewDistance FarClipPlane 100 Target far clip distance in meters (raise carefully; 200-1000 for a long view)
Lighting ExtendLightDistance true Extend light activation distance
Lighting LightDistance 30 Light activation distance in meters, capped at 40
Lighting ExtendShadowDistance true Extend shadow distance
Lighting ShadowDistance 25 Shadow distance in meters, capped at 60
Lighting LightRefreshIntervalSeconds 3 Minimum interval between light refreshes
Performance PixelLightGuard true Lower per-pixel light count while view distance is extended
Performance PixelLightCount 4 Per-pixel light cap used by the guard

Installation

  1. Install BepInEx 5 for R.E.P.O.
  2. Drop FogClear0.3.0.dll into BepInEx/plugins/.
  3. Launch the game. Press \ to toggle fog removal.

Notes

  • Client-side only. It changes what you see, not what other players see; no host privileges required.
  • Upgrading from 0.2.x: the config section moved from ViewDistance.ExtendLightingDistance to Lighting.ExtendLightDistance. Any leftover aggressive values (LightDistance=35, ShadowDistance=30, ExtendLightDistance=true) are reset to the safe defaults on first launch and a line is written to the log. A FarClipPlane still sitting at the old default 36, or an ExtendViewDistance still off, is migrated to 100 / on; manually tuned values above 36 are left alone.
  • If you still want distant lights on, raise LightDistance a little at a time and read the active light count printed in the log on each \ toggle. Once that number jumps by a few hundred, frame time goes with it.
  • Turning fog removal off (\) also returns the far clip to the game's own value, because the extended view distance rides on the same switch.

FogClear(中文)

R.E.P.O. 去雾与视野距离扩展模组(BepInEx 5 / Harmony)。

在保留原版氛围的前提下移除房间浓雾,并扩展摄像机远裁剪,让远处房间与物件清晰可见 —— 但不再动游戏的灯光与阴影预算,那正是旧版一开视距就卡的根源。

功能

  • 雾气开关完全由模组按键掌握:开启去雾 = 强制 RenderSettings.fog=false,关闭去雾 = 强制 RenderSettings.fog=true,不回读游戏状态机,SpectateCamera 也无法把它翻回去。开关按键即时生效 —— 按下当帧就完成切换,无延迟、无失灵。
  • 视距扩展不再拖累帧率:ExtendViewDistance 只改真实渲染相机的 farClipPlane 与雾开关,不再连带抬高 GraphicsManager.lightDistance 与 QualitySettings.shadowDistance。视距现在默认开启,距离 100 米。
  • 灯光距离、阴影距离拆成两个独立开关,默认开启:Lighting.ExtendLightDistance 与 Lighting.ExtendShadowDistance 默认均为开启,起始数值就等于游戏最高画质档,并强制上限钳制(40m / 60m);某间房开始掉帧时在 cfg 里单独关掉即可。游戏判定一盏灯点亮的条件是 距离 < GraphicsManager.lightDistance × PropLight.lightRangeMultiplier,倍率一乘,5 米的增量就足以把整张地图几十个房间的灯同时点亮。
  • 每帧只写一次:状态下发改到 CameraUpdate.LateUpdate 的 Prefix —— 游戏逐个 Camera.Render() 之前的那一刻,取代原先四个后置钩子跟游戏抢写。
  • 灯光刷新节流:LightManager.UpdateInstant() 会给每盏灯各起一条淡入淡出协程,现在改为限频调用(默认 3 秒)。
  • 热键开关:默认 \,可在 cfg 中改键。不占用额外诊断键:每次切换会往日志写一行状态(雾参数、远裁剪、灯光数量、写入频率),不需要再抢一个按键。

配置

首次运行后编辑 BepInEx/config/com.fogclear.repo.cfg。

Section Setting Default 说明
General Enabled true 启动时是否自动开启去雾
General ToggleKey Backslash 去雾开关热键
General ConfigSchema 5 内部使用,请勿修改
ViewDistance ExtendViewDistance true 是否扩展摄像机远裁剪(默认开启)
ViewDistance FarClipPlane 100 目标远裁剪距离(米),默认 100;可继续上调,长视距 200-1000
Lighting ExtendLightDistance true 是否扩展灯光激活距离
Lighting LightDistance 30 灯光激活距离(米),上限 40
Lighting ExtendShadowDistance true 是否扩展阴影距离
Lighting ShadowDistance 25 阴影距离(米),上限 60
Lighting LightRefreshIntervalSeconds 3 灯光刷新最小间隔(秒)
Performance PixelLightGuard true 扩展视距时压低逐像素光源数
Performance PixelLightCount 4 护栏生效时的逐像素光源上限

安装

  1. 为 R.E.P.O. 安装 BepInEx 5。
  2. 将 FogClear0.3.0.dll 放入 BepInEx/plugins/。
  3. 启动游戏;按 \ 切换去雾。

说明

  • 纯客户端模组,只影响本地画面,不影响他人,无需主机权限。
  • 从 0.2.x 升级:配置项由 ViewDistance.ExtendLightingDistance 迁到 Lighting.ExtendLightDistance。旧版遗留的激进值(LightDistance=35、ShadowDistance=30、ExtendLightDistance=true)会在首次启动时自动回落为安全默认值,并在日志中提示。仍停留在旧默认 36 的 FarClipPlane,以及处于关闭状态的 ExtendViewDistance,会被迁到 100 / 开启;你自己调到 36 以上的距离一律保留不动。
  • 确实想要远处灯光,请小幅逐步提高 LightDistance,每次按 \ 时看日志里的激活灯数量;这个数字一动就是几百,帧率也会跟着走。
  • 按 \ 关闭去雾时,远裁剪也会交还游戏自身的值 —— 扩展视距挂在同一个开关上。