DspOptiMod
Dyson Swarm render optimization (one glowing band per orbit) + rockets build all nodes first (exactly 30 per node, no overflow), frames only after every node is complete.
模組介紹 作者原文
DspOptiMod
戴森球程序 BepInEx 優化 mod(net472,Harmony 補丁)。
功能
- 戴森雲渲染優化(Swarm)
- 原版 DysonSwarm.DrawPost() 對每個太陽帆做程序化繪製(sailCursor * 12 個四邊形頂點,10 萬帆時開銷巨大)。
- 本 mod 整段替換遠景渲染:每條軌道只畫一條半透明發光環帶(GL 立即模式 + Hidden/Internal-Colored),
顏色取軌道自帶的 orbitColorsHSVA,透明度隨帆數增長。
- 發射中的太陽帆子彈(軌跡光點)仍按原版渲染,發射過程可見。
- 近處(2500m 內)帆的精細網格默認保留,可在配置裏 DisableNearPass=true 一併關閉。
- 小火箭建造順序(Rocket)
- 原版 DysonNode.ConstructSp() 把火箭送來的結構點填滿本節點後即開始建本節點的框架。
- 本 mod 改爲:整顆戴森球的所有節點本體全部建成後,纔開始給框架分配結構點。
- 火箭目標選擇(PickAutoNode/spReqOrder)不需要改,它統計的是"節點+框架"總需求,天然兼容。
配置(BepInEx/config/byboy.dspopti.cfg)
| 鍵 | 默認 | 說明 |
|---|---|---|
| Swarm.OptimizeSwarm | true | 開啓戴森雲環帶渲染 |
| Swarm.DisableNearPass | false | 連近處帆精細渲染也關掉 |
| Swarm.RingSegments | 128 | 環帶分段數 |
| Swarm.RingWidthFactor | 0.025 | 環帶寬度係數(×軌道半徑)|
| Swarm.RingMinAlpha | 0.25 | 環帶最低透明度 |
| Swarm.RingAlphaScale | 0.6 | 環帶基礎透明度 |
| Rocket.NodesFirst | true(原 FramesFirst)| 所有節點建成後纔開始建框架 |
遊戲內 F9 可即時開關戴森雲渲染優化。
構建
dotnet build -m:1 -nodeReuse:false -c Release
構建後自動複製到遊戲 BepInEx/plugins/(可用 -p:GameDir=... 覆蓋遊戲目錄)。
ref/ 下是反編譯參考代碼(ilspycmd 導出),僅供查閱,不參與編譯。
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: