交换丢弃与持有重制版 - VR

创作者: TheMachinaGod
已更新:2026-07-28 09:38:32
2.5MB

关于此 MOD

通过SKSE实现物理武器操作。抓取武器即可装备,轻触并按住扳机键可丢弃,或抓取已装备的武器并横跨双手甩动即可切换。无需菜单,无需脚本——纯SKSE实现。
交换投掷与持有:重制版
天际VR的实体武器操作 - 抓取装备,长按丢弃,甩动换手。




这是什么?

Swap Drop & Hold Redux 是一款SKSE插件,让VR中单手武器的操作变得真实而自然。没有菜单、没有收藏轮盘、没有快捷键——你就像在现实中一样与武器互动:

  • 从世界中拾取武器 与HIGGS一同装备,并直接装备到那只手上。
  • 按住扳机 装备中的武器上持续几秒钟,它就会转化为松散的物理抓取状态——可以将其交予他人、放下,或直接松开。
  • 用空手抓住已装备的武器,将其横拉过身体 把它换到另一只手上。

所有功能均基于SKSE任务队列,以C++原生运行——无Papyrus脚本、无存档膨胀、无esp。



功能特性

抓取以装备
使用HIGGS抓取世界中的任意可用武器,武器会自动被拾起并装备到抓取的手上。支持匕首、单手/双手剑、斧头、钉锤、法杖、弓/弩以及火炬。



触发点击然后长按以放下
按住已装备武器的手上的扳机1秒(可调),武器便会卸下并进入HIGGS物理抓取状态——此时你正实实在在地握着武器模型。松开手将其丢到地上,或继续握住不放。

掉落物在以下情况下会被有意阻止:
  • 握把与扳机同时按住(防止武器动作触发意外掉落)
  • 法术轮盘VR轮盘已打开




拾起你掉落的武器后,经过短暂的保护时间(可调)结束,会自动重新装备。

交叉持枪换手
用另一只(空着的)手抓住单手持握的武器,然后迅速将其横拉过身体。武器会从原来持握的手中卸下,并装备到拉拽的那只手上。一把匕首,一个动作,换到另一只手。
所需的拔出力可完全调节——调低可轻松替换,调高则只有故意拉扯才会触发。





INI 设置

位于 Data\SKSE\Plugins\SwapDropAndHoldRedux.ini

[设置]
Logging=2
TriggerHoldDropSeconds=2.0
DropGuardTimeoutSeconds=4.0
SwapPullSpeedThreshold=65.0
SwapPullMinDistanceGrowth=14.0


  • 日志记录 - 仅0错误,1警告,2完整信息日志。
  • 触发夹持掉落秒数 按住扳机以丢弃已装备武器的时长(0.25–10)。
  • 丢弃保护超时秒数 - 触发式持握掉落之后,重新抓起该武器时不会自动装备的持续时间(0.5–30)。这让你可以将掉落的武器在双手间传递,或将其放下而不会被自动弹回手上。
  • 交换拉取速度阈值 - 手部交替拔出的最小拉速(25–500)。数值越低 = 轻拉,越高 = 蓄意猛拽。约 40 为轻松,65 为用力,80 以上则需要干脆利落的甩动。
  • 交换拉动最小距离增长 - 备选慢拉路径:在以阈值速度的45%(3–100)进行拉动时,手部必须远离武器的距离下限。

日志文件写入至 Documents\My Games\Skyrim VR\SKSE\SwapDropAndHoldRedux.log 并显示每次拾取、丢弃和交换的武器名称与表单ID——若感觉异常,请先查看此项。



需求

  • SKSE VR
  • HIGGS VR - 必需项,这是抓取主干
  • VRIK - 版本 0.8.4 或更新版本(旧版本不兼容,模组将拒绝加载)
    ;-------------------------
  • 咒术轮盘VR - 可选;若已安装,在轮盘开启期间掉落将被阻止
  • 双手武器与盾牌已解锁 - 可选;允许双手完全使用2小时武器
  • 法术交换VR - 可选;允许你在双手之间自然切换法术。
  • 物理碰撞VR - 可选;为你的已装备武器和双手添加碰撞效果 



注意事项与已知行为

  • 支持的武器类型: 匕首、单手/双手剑、单手/双手斧、单手锤、盾牌、弓/弩、火把和法杖。法术则特意不加改动。
  • 手部交换需要真正用力拉。 随意双手持握武器不会触发它——只有在快速径向拽离武器(或持续长拉)时才会触发切换。按需调整阈值。
  • 丢弃保护窗口: 在触发持握掉落之后立即重新抓取同一把武器,在保护期结束前(默认4秒)不会自动装备。这是有意设计的——防止武器从物理抓取中瞬间重新装备。
  • 在抓取时也会自动装备/卸下装备的模组(例如自动装备模组、其他抓取即装备插件)可能会与本模组争夺控制权。如果你看到重复装备或武器弹回的情况,请禁用这些模组进行测试。


安装

使用你的模组管理器安装,或直接拖入 SwapDropAndHoldRedux.dll 和 SwapDropAndHoldRedux.ini 进入 Data\SKSE\Plugins\可以随时安装,无需重开存档。卸载也很简单,直接删除文件即可,不会写入存档数据。



故障排除

设置 Logging=2 在INI中并检查 SwapDropAndHoldRedux.log健康的会话会记录如下行内容:

已拾取武器[右手]:铁匕首(匕首) formId=...
右手装备的武器:铁匕首 formId=...
触发持有放下【右手】:已卸下、从物品栏移除、抓取的世界模型...
检测到交换拉动:左手控制器从右手侧向左拉动穿过身体...
交换完成:已将铁匕首(匕首)从右手移至左手……


提交错误报告时,请附上相关日志行以及(若游戏崩溃)崩溃记录器的输出内容。



制作人员名单
  • 原始 交换、丢弃与持有 这个重制版从头构建的全新概念
  • 飞行粒子 HIGGS及其插件API,让这一切成为可能
  • 进度 - VRIK
  • 希佐夫 - Spell Wheel VR 及其 API
  • SKSE团队



    模组作者须知 — SKSE 应用程序接口
    Swap Drop & Hold Redux 暴露了一个轻量级的 SKSE API,以便其他插件能够响应拾取装备、触发按住丢弃以及换手事件。

    剧透:  
    显示

    需求
    • 已加载 Swap Drop & Hold Redux(可选软依赖)
    • 获取界面 kMessage_PostPostLoad 或之后—— 非 加载SKSE插件时
    • 复制 swapdropandholdreduxinterface001.h 进入你的项目
    • 添加一个消费端获取器(见下文)。执行操作。 不 仅限提供商调用 注册* / 通知* 功能

    查找常量
    • 收件人字符串: 互换拖放与按住增强版
    • 界面修订: 1
    • 构建版本号: 获取版本号() (目前 1)

    获取界面
    #include "swapdropandholdreduxinterface001.h"

    // 关于 SKSEMessagingInterface::kMessage_PostPostLoad:
    自动* 接口 = SwapDropAndHoldReduxAPI::获取SwapDropAndHoldRedux接口001(
        g_pluginHandle, g_messaging);

    如果(api)
    {
        api->AddWeaponHandEventCallback(MyCallback); // 所有事件
        // 或者具体来说:
        api->AddWeaponGrabEquippedCallback(OnGrabEquipped);
        api->AddTriggerHoldDroppedCallback(OnTriggerDrop);
        api->AddSwapPullCompleteCallback(OnSwapComplete);
        // 可选:拦截默认的装备/交换转移
        api->AddWeaponGrabEquipInterceptCallback(OnEquipIntercept);
    }

    当模组未安装时进行空值检查。

    活动
    • kWeaponGrabEquipped (1) — 世界拾取 → 捡起 → 装备完成
    • kTriggerHoldDropped(2) — 触发-按住 丢弃完成(卸下装备 → 世界物体 → HIGGS 抓取)
    • kSwap拉取完成(3) — 交叉换手完成

    武器手事件字段
    • 事件类型 — 哪个活动
    • isLeftVRController — 实体VR控制器
    • isLeftGameHand — 天际装备位(遵循左手模式)
    • 左手游戏 — 交换用源手;抓取/丢弃时与游戏手相同
    • 武器形态ID — 武器基础形态ID
    • 武器参考ID — 世界引用(如适用,用于丢弃/拾取);0 表示交换
    • 拉取速度 — 仅交换拉动速度;否则为0

    手部映射: 使用 isLeftGameHand 用于装备槽, isLeftVRController 玩家移动所使用的控制器。在左手VR模式下,左右手控制器会互换。

    交换字段: 源为左手游戏手柄 =它来自哪里, isLeftGameHand = 目的地。

    丢弃字段: 武器引用ID 是希格斯拿着的那个新掉落物理参考。

    装备拦截(可选)
    添加武器拾取装备拦截回调 在武器进入背包后运行,但 之前 SDHR的默认装备物品/手持转移。

    返回 真 跳过SDHR的默认装备并自行处理(例如自定义2H代理管道)。匹配的完成回调仍会在之后触发。

    有 无掉落拦截 — 掉落事件仅通知。

    消费者获取器(复制到您的 .cpp 文件中)
    #include "swapdropandholdreduxinterface001.h"

    namespace SwapDropAndHoldReduxAPI
    {
        命名空间
        {
            struct SwapDropMessage
            {
                enum : std::uint32_t { kMessage_GetInterface = 0x5D4A4811u };
                void* (*GetApiFunction)(unsigned int revisionNumber) = nullptr;
            };
        }

        ISwapDropAndHoldReduxInterface001* GetSwapDropAndHoldReduxInterface001(
            const PluginHandle& pluginHandle,
            SKSEMessagingInterface* messagingInterface)
        {
            static ISwapDropAndHoldReduxInterface001* cached = nullptr;
            if (cached) return cached;
            if (!messagingInterface) return nullptr;

            SwapDropMessage message{};
            const bool dispatched = messagingInterface->Dispatch(
                pluginHandle
                SwapDropMessage::kMessage_GetInterface,
                &message,
                static_cast<UInt32>(sizeof(message)),
                kInterfaceRecipient);

            if (!dispatched || !message.GetApiFunction)
                return nullptr;

            cached = static_cast<ISwapDropAndHoldReduxInterface001*>(message.GetApiFunction(1));
            返回缓存;
        }
    }

    备注
    • 可追踪武器:匕首、单手剑/斧/锤、法杖。可选双手剑/斧 EnableTwoHandedWeapons=1 在SDHR的INI文件中。
    • 避开 TESForm::GetName() 在Skyrim VR的回调中(错误的虚表;可能导致崩溃)。建议使用表单ID或读取方式 TES全称 直接。








































  • 上古卷轴5:天际 特别版 的热门 MOD

    探索适用于 上古卷轴5:天际 特别版 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

    2025-12-16 11:53:50

    前置必备Mod

    修改与Mod必备前置工具

    ModOrganizerTeam2024-08-04 16:31:44

    Mod Organizer(MO)是一个用于管理任意大小的Mod集合的工具。它是专门为那些喜欢尝试mods的人设计的,因此需要一种简单可靠的方法来安装和卸载它们。

    天空用户界面

    schlangster2017-10-04 05:03:26

    界面优雅,对电脑友好,并具有许多高级功能。

    非官方《上古卷轴5:天际》特别版补丁 - USSEP

    Arthmoor2025-09-01 07:56:09

    一款针对《上古卷轴V:天际特别版》的综合性错误修复模组。非官方天际特别版补丁(简称USSEP)的目标是最终修复《天际特别版》中所有尚未被官方修复的错误。

    静态网格改进模组 - SMIM

    Brumbek2018-07-05 02:28:26

    这是一个旨在大幅提升《上古卷轴5:天际》中无数静态3D模型外观的大型项目。简而言之,我希望通过这个项目让天际的建筑、杂物、家具和景观更加美观。

    SKSE插件的地址库

    meh3212024-02-14 09:19:54

    包含头文件和数据库,以便轻松实现 SKSE DLL 插件的版本独立性。

    比赛菜单

    expired69782024-01-27 03:38:17

    角色创建菜单全面改版,新增多种自定义功能,例如多种RGBA战纹、身体彩绘、手部彩绘和脚部彩绘。(需要SKSE)

    Fores Skyrim SE-FNIS SE中的新闲置

    NexusModsCaretaker2020-02-19 01:47:03

    Skyrim没有可能的自定义动画?错误的。FNIS行为允许添加不同类型的动画到游戏:闲置/姿势,顺序,家具,配对,杀戮,生物,等等。

    使用 Xmod 解锁 上古卷轴5:天际 特别版 的全部潜力 — 今天就探索这些顶级 MOD!