面部打光 - 改進腳本(更新)
更平滑的面部打光。
截圖 共 2 張
模組介紹 作者原文
更平滑的面部打光。
原址:
前置:
Papyrus Common Library:
Face Light - Fallout 4 Edition:
4月12號更新:
版本 1.0.2.RC2
移除了 RefreshFollower() 中的 hasSpell() 檢查(其目的是平滑對話中的光線過渡),因爲它在通過事件調用時(除了 MCMOptionOnChange() 外會導致(無法自然刷新)軟鎖。
在對話部分引入了另一臺狀態機器,以替代實現目標。
轉發了1.0.2.RC1的所有更改。
版本 1.0.2.RC1
取消了種族限制。通過使用 System:NetImmerse.ContainsNode() 來檢查演員是否有“HEAD” NiNode。這對NPC和隨從產生影響。需要社區範圍內進一步測試,看看是否能在任何自定義種族上運行良好。
狀態基礎對話輕法術生效。由於getFollowers()會包含“運行一個被標記爲將演員視爲玩家跟隨者的包”的NPC,這不可靠,你可能會遇到NPC在定居點時無法開燈(可能與Workshop Framework或Workshop Plus有關)。這也解決了光明在招募/解僱同伴時沒有更新的問題。
改進內部功能以更好地配合上述變化。
現已上傳ESP和ESL版本主文件,根據自己安裝的版本二選一
漢化地址:
----
這是什麼?
Face Light的腳本替代。基於Facelight第三人稱修正——Follower Edition,允許在對話中同時爲玩家、Follower和NPC施加面部光照。
爲什麼?
我以爲沒有公開的官方在做這件事,巧合的是我查了源腳本。
哪些地方被“改進”了?
新增了 OnMenuOpenClose(“WorkshopMenu”)事件以實現火力刷新功能。這解決了玩家退出創意工坊後會失去人臉燈的問題,並繞過了因監聽 OnWorkshopMode() 事件而導致的兼容工作坊框架問題。
通過調用原生的 GetDialogueTarget() 函數並導入一個非常簡單的狀態機,這可以淘汰了通過“Game.FindRandomActorFromRef()”在原版腳本中循環附近演員的非常不可靠的方式。這樣整個對話部分會快得多。
重新設計了原版內部功能,使其更清晰、更輕量且高效。還有各種邊緣條件的處理。
安裝
安裝部打光。
安裝這個並覆蓋任何衝突的文件。
兼容性
遊戲版本: 測試時是1.10.163(即原始或預NG)。我的腳本里沒有版本敏感代碼,所以假設它可能在新版本上能用,但不能保證。
存檔中期更新: 如果你是從之前安裝的 FaceLight 存檔更新的,應該沒問題。如果沒有觸發,試試用控制台命令手動啓動Quest,或者通過xEdit關閉“一次執行”標誌。
常見問題、已知問題及潛在改進建議
正如 Facelight 第三人稱修復指出的,在 cell loading lift 中,OnCellLoad() 事件不會觸發,因爲它還沒有被“cell loaded”。
多演員對話: 如果我理解沒錯,光線的施加只有在對話結束時觸發一次,這意味着如果中間場景中其他演員參與對話,他/她很可能不會開自己的面部燈光。
自定義種族:鑑於我沒打算從零開始做,而且我也不怎麼用種族模組,所以這部分就保持原意。對於隨從和NPC,你只能在HumanRace和GhoulRace看到光。
鳴謝
Falloutkid12,是從《天際》移植到FO4
jarno5和Realnyn的原始版本,實現了隨從支持,我也實現
了(還有Face Light REDUX或同名模組,發佈在SkyrimSE子版塊,實際上沒什麼幫助,只是參考)
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
- 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
- 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。
不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。