Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
| 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
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
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 = forceRenderSettings.fog = true. It never reads the game's state machine back, soSpectateCameracannot 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.
ExtendViewDistanceonly changes the real render camera'sfarClipPlaneand the fog switch. It does not raiseGraphicsManager.lightDistanceorQualitySettings.shadowDistanceany 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.ExtendLightDistanceandLighting.ExtendShadowDistancedefault 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 whendistance < 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.LateUpdateprefix — 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
- Install BepInEx 5 for R.E.P.O.
- Drop
FogClear0.3.0.dllintoBepInEx/plugins/. - 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.ExtendLightingDistancetoLighting.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. AFarClipPlanestill sitting at the old default 36, or anExtendViewDistancestill off, is migrated to 100 / on; manually tuned values above 36 are left alone. - If you still want distant lights on, raise
LightDistancea 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 | 护栏生效时的逐像素光源上限 |
安装
- 为 R.E.P.O. 安装 BepInEx 5。
- 将
FogClear0.3.0.dll放入BepInEx/plugins/。 - 启动游戏;按
\切换去雾。
说明
- 纯客户端模组,只影响本地画面,不影响他人,无需主机权限。
- 从 0.2.x 升级:配置项由
ViewDistance.ExtendLightingDistance迁到Lighting.ExtendLightDistance。旧版遗留的激进值(LightDistance=35、ShadowDistance=30、ExtendLightDistance=true)会在首次启动时自动回落为安全默认值,并在日志中提示。仍停留在旧默认 36 的FarClipPlane,以及处于关闭状态的ExtendViewDistance,会被迁到 100 / 开启;你自己调到 36 以上的距离一律保留不动。 - 确实想要远处灯光,请小幅逐步提高
LightDistance,每次按\时看日志里的激活灯数量;这个数字一动就是几百,帧率也会跟着走。 - 按
\关闭去雾时,远裁剪也会交还游戏自身的值 —— 扩展视距挂在同一个开关上。