Unswayed
Valheim 1.0-1.0.16 camera and locomotion stabilizer for stride bobbing, shake, and close-quarters camera crushing.
截圖 共 2 張
模組介紹 作者原文
Unswayed
Eliminate the rigid 1.0 locomotion stride bobbing, prevent suffocating camera crushing in burial crypts, unlock adaptive shoulder sightlines, and conquer motion sickness in Valheim.
Compatibility: Valheim 1.0.0-1.0.16; latest build, camera Harmony target, and isolated boot verification completed on 1.0.16. See the fleet compatibility evidence.
📑 Table of Contents
- 🎯 The Request & Origin
- 🏗️ Visual System Architecture (Archify)
- ⚡ Core Features
- 1. Head-Bob Decoupling & Stride Stabilization
- 2. Dungeon Proximity Anti-Crush Floor
- 3. Adaptive Crypt Shoulder Lift
- 4. Dynamic Dungeon FOV Expansion
- 5. Fine-Grained Camera Shake Scaler
- 6. Sailing Ship-Tilt Suppression
- 7. In-Game CLI & Live Hotkey (F7)
- 🎮 Hotkey Quick Reference
- ⚙️ Configuration Reference
- 💻 In-Game Console Commands (F5)
- 🔬 Hardware Verification (OMEN Rig)
- 📚 Documentation & Guides
- 📦 Installation Guide
- 🛠️ Building from Source
- 🤖 AI Disclosure & Provenance
- 🙏 Credits & Acknowledgments
- 📄 License
🎯 The Request & Origin
"Anyone make a mod to restore the pre 1.0 run animations yet? All that rigid bobbing is giving me vertigo. Especially in the burial crypts."
— Crusnik, Valheim Modding Community
In the Valheim 1.0 (Deep North) update, Iron Gate overhauled player locomotion blend trees (Player.controller). While the new run animation introduces a springier stride cadence, Valheim's GameCamera anchors its third-person target directly to Character.m_eye—a child transform of the animated cervical/head bone.
In the open world (at 4–6 meters distance), Vector3.SmoothDamp softens this bounce. But inside Burial Crypts, Sunken Crypts, and Frost Caves, narrow stone corridors trigger GameCamera.CollideRay2(), which aggressively clamps camera distance down to less than 1 meter right behind the Viking's neck.
At point-blank range:
- 100% of the raw stride bounce is projected directly across the player's viewport.
- The bobbing character model occludes over 70% of the screen.
- Flickering torch shadows and tight walls create an acute visual-vestibular conflict that induces headaches, nausea, and vertigo.
Instead of waiting for an asset-swapping AnimatorOverrideController that breaks across game sub-patches, Unswayed solves the problem at the camera anchor level: zero dependencies, zero asset bloat, and total ergonomic stability.
🏗️ Visual System Architecture (Archify)
Archify verified showcase map illustrating the locomotion decoupling hooks, dungeon collision clamps, and live tuning pipeline:
👉 Open Live Interactive Archify Diagram (Live Web Preview) (Dark/Light themes, guided view inspection, and node reachability)
flowchart LR
subgraph Input ["Player Controls & CLI"]
PInput["Mouse Look & WASD
[F7] Live Stabilizer Toggle"]
Console["F5 Console CLI
'unswayed status' | 'unswayed damping'"]
end
subgraph Valheim ["Valheim Engine Runtime"]
PLoco["Player Locomotion
1.0 Run Stride Keyframes"]
Cam["GameCamera
Active Viewport Anchor"]
Crypt["Burial Crypts
Low Ceilings & Doorways"]
Horizon["Stable Horizon
Zero Stride Bounce"]
VPort["Ergonomic Viewport
Smooth Third-Person View"]
end
subgraph Unswayed ["Unswayed Harmony Interceptors"]
OffsetPatch["Offset Decoupler
GetCameraBaseOffsetPatch (1.65m)"]
Manager["Stabilizer Engine
State & Damping Slider (1.0)"]
AntiCrush["Dungeon Anti-Crush
Floor 1.35m & +0.35m Lift"]
end
PInput -->|Mouse & F7| Cam
Cam -->|Camera Position| Manager
PLoco -->|m_eye Bounce| OffsetPatch
OffsetPatch -->|1.65m Base| Horizon
Console -.->|Live Tuning| AntiCrush
AntiCrush -->|Collide Raycast| Crypt
Manager -->|Stable View| VPort
⚡ Core Features
- Head-Bob Decoupling & Stride Stabilization
Overrides GameCamera.GetCameraBaseOffset() to anchor the third-person camera to a stable, root-relative pivot (Vector3.up * 1.65m). The camera tracks ground movement seamlessly across hills and terrain while remaining unaffected by vertical head-bone keyframe bounces.
- Dungeon Proximity Anti-Crush Floor
Burial Crypt
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: