演員速度框架(更新)

作者 jarari·版本 v1.53·更新於 2026-04-21

一個用於修改演員速度的Papyrus腳本擴展器。

模組介紹 作者原文

一個用於修改演員速度的Papyrus腳本擴展器。

原址:

4月20號更新:

版本 1.53

修復動力裝甲地面抽搐,不同幀數下速度更穩定

現已上傳AE版(適用於週年慶)和OG版(適用於163版本)文件,根據自己的遊戲版本二選一安裝

----

前置需求:F4SE 插件地址庫(

Actor Velocity 框架

-Papyrus 函數——

它添加了這些 Papyrus 函數。

GetActorForward(Actor a) 返回actor的正向矢量,正投影到表面。

GetActorUp(Actor a) 返回演員的向上向量,通常是 (0, 0, 1)

GetActorEye(Actor a) 返回演員的眼睛矢量,也就是演員瞄準的方向。

GetActorAngle(Actor a) 返回演員的角度(以弧度爲單位)。[0] 用於俯仰,[2] 用於偏航。

GetActorVelocity(Actor a) 返回演員當前的速度。

如果演員在地面上,則

IsOnGround(Actor a) 返回爲真。

SetPositionQuick(Actor a, float x, float y, float z)在沒有加載畫面的情況下翻譯演員。

SetAngleQuick(演員a,float x,float y,float z)會將演員的視角旋轉到該角度。

SetVelocity(Actor a, float x, float y, float z, float duration, float x² = 0.0, float y² = 0.0, float z² = 0.0, bool gravity = false)

是框架的關鍵函數,將速度應用到演員身上,同時不讓他陷入布娃娃化或癱瘓。如果啓用重力,

AVF每幀會施加-9.81 * fInAirFallingCharGravityMult的重力。

第一個向量(x, y, z)是初始速度,第二個向量(x2, y2, z2)是終端速度。

它將在指定持續時間內每幀應用,速度將進行線性插值。

AddVelocity(Actor a, float x, float y, float z)會直接爲actor增加速度,持續一幀。

  • 顯式鏈接——

SetVelocity 和 AddVelocity 可以通過顯式鏈接直接通過其他 F4SE 的 dll 訪問。

你可以用下面的代碼作爲示例。

Actor* a;

HMODULE hAVF = GetModuleHandleA("ActorVelocityFramework.dll");

typedef void (*SetVelocity)(std::monostate, Actor*, float, float, float, float, float, float, float);

SetVelocity fnSetVelocity = (SetVelocity)GetProcAddress(hAVF, "SetVelocity");

fnSetVelocity(std::monostate{}, a, dir.x * 2000.0f, dir.y * 2000.0f, dir.z * 2000.0f, 0.75f, 0.0f, 0.0f, 0.0f);

-用例示例-

鳴謝

F4SE 團隊提供《輻射4》腳本擴展器(F4SE)Fudgyduff

提供地址庫和 CommonLibF4

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
  3. 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
  4. 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。

不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。

檔案與校驗

檔案名稱
ActorVelocityFramework AE-56604-1-53-1776700235.zip
檔案大小
4.5 MiB
SHA-256
87307c2ab5143dce35361156766408845781b5623de0c5fa55d59a720fc03884
入庫時間
2026-10-14 04:48