3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 190|回复: 3
打印 上一主题 下一主题

[功能模组] 物体操控优化大修

[复制链接]

4085

主题

1万

帖子

11万

积分

3DM创意工坊

Rank: 11Rank: 11Rank: 11Rank: 11

贡献度
19758
金元
361908
积分
115223
精华
0
注册时间
2017-8-17
跳转到指定楼层
主题
发表于 2025-9-10 15:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

转自:https://www.nexusmods.com/skyrimspecialedition/mods/123664

该MOD让移动物品等物体变得更轻松,还能让你移动此前无法移动的物体。

·需求
SKSE插件地址库:https://bbs.3dmgame.com/thread-6549645-1-1.html

·描述:
我一直认为《上古卷轴5:天际》中移动物品的方式十分笨拙,本MOD旨在解决这一问题。通过可配置的按键,你可以拿起任意物品并改变其位置,还能相对于光标平移和旋转物品。此MOD不仅能移动物品,还支持更多类型物体的移动,且所有功能均可配置。

同时,MOD还为Papyrus和SKSE开发者提供了一个简单的应用程序接口(API),可通过编程方式启动物品拾取功能。

·默认设置
你只能在泥土和草地表面放置植物和树木,无法在其他地形上放置。

·限制条件:
移动物品时,你不能离开所在的房间。

·使用方法:
所有按键绑定均可配置。
鼠标中键点击物体即可开始拖动。
拖动物体时:
- 鼠标右键:取消拖动,将物体恢复到原始位置和朝向。
- 鼠标左键:停止拖动,让物体固定在新的位置和朝向。
- 按住Ctrl键:可通过鼠标水平旋转物体。
- 按住Shift键:可通过鼠标垂直移动物体。
- Tab键:重置物体的朝向和位置。
- 空格键:切换高级模式;开启高级模式后,你可同时水平和垂直移动及旋转物体。

·按键配置
该MOD的按键绑定可在Data/Object Manipulation Overhaul/KeyConfiguration.txt文件中配置。

#Action,            Device,     Key,
Pick,               Mouse,      MiddleButton
Cancel,             Mouse,      RightButton
Commit,             Mouse,      LeftButton
Rotate,             Keyboard,   RightControl
Rotate,             Keyboard,   LeftControl
Move,               Keyboard,   RightShift
Move,               Keyboard,   LeftShift
ToggleAdvancedMode, Keyboard,   Spacebar
ResetTransform,     Keyboard,   Tab

以下是上述CSV表格中所有可用关键词的列表

·设备列表
keyboard
mouse
gamepad

·键盘按键列表
escape
num1
num2
num3
num4
num5
num6
num7
num8
num9
num0
minus
equals
backspace
tab
q
w
e
r
t
y
u
i
o
p
bracketleft
bracketright
enter
leftcontrol
a
s
d
f
g
h
j
k
l
semicolon
apostrophe
tilde
leftshift
backslash
z
x
c
v
b
n
m
comma
period
slash
rightshift
kp_multiply
leftalt
spacebar
capslock
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
numlock
scrolllock
kp_7
kp_8
kp_9
kp_subtract
kp_4
kp_5
kp_6
kp_plus
kp_1
kp_2
kp_3
kp_0
kp_decimal
f11
f12
kp_enter
rightcontrol
kp_divide
printscreen
rightalt
pause
home
up
pageup
left
right
end
down
pagedown
insert
delete
leftwin
rightwin

·鼠标按键列表
leftbutton
rightbutton
middlebutton
button3
button4
button5
button6
button7
wheelup
wheeldown

·游戏手柄按键列表
up
down
left
right
start
back
leftthumb
rightthumb
leftshoulder
rightshoulder
a
b
x
y
lefttrigger
righttrigger


·MOD集成:

·Papyrus
·原生函数
scriptName ObjectManipulationOverhaul hidden
function StartDraggingObject(ObjectReference object) global native

·使用示例
Actor player = Game.GetPlayer()
ObjectReference ref = player.PlaceAtMe(PlaceForm)
ObjectManipulationOverhaul.StartDraggingObject(ref)

·SKSE
·头文件
#pragma once
#include <windows.h>
namespace ObjectManipulationOverhaul {
    inline void StartDraggingObject(RE::TESObjectREFR* ref) {
        using func_t = void(*)(RE::TESObjectREFR*);
        static auto ObjectManipulationOverhaul = GetModuleHandle(L"ObjectManipulationOverhaul");
        func_t func = reinterpret_cast<func_t>(GetProcAddress(ObjectManipulationOverhaul, "StartDraggingObject"));
        return func(ref);
    }
}

·使用示例
auto player = RE:layerCharacter::GetSingleton();
if (auto refptr = player->laceObjectAtMe(AddBoundObject, false)) {
    if (auto ref = refptr.get()) {
        ObjectManipulationOverhaul::StartDraggingObject(ref);
    }
}


·配置拾取与放置行为
若你希望通过该MOD拾取默认情况下无法拾取的物品,可在Data/Object Manipulation Overhaul文件夹中创建JSON文件进行配置。

配置文件分为两类,一类用于设置可拾取的物体,另一类用于设置物体可放置的位置。

文件必须分别以以下后缀命名:_PICK.json(拾取配置)和 _PLACE.json(放置配置)。

·放置配置示例
[
    {
      "Action": "Add",
      "riority": 200,
      "ApplyTo": {
        "Type":"FormType",
        "Values": ["Flora", "Tree"]
      },
      "OnTarget": {
        "Type":"GroundTexture",
        "Values": ["Grass","Dirt"]
      }
    }
]

·拾取配置示例
[
[
    {
      "Action": "Remove",
      "riority": 100,
      "ApplyTo": {
        "Type":"FormType",
        "Values": ["MovableStatic", "Static", "Door", "NPC"]
      }
    },
]

在这两类文件中,数组中的每一项都是一条规则,规则将按优先级顺序应用;优先级数值越小的规则越先执行,且更有可能被其他规则覆盖。

每条规则均包含“操作”(Action),用于指定规则是允许还是禁止某项行为,可选值为“添加”(Add)和“移除”(Remove)。

规则中还包含“应用于”(ApplyTo)和“作用目标”(OnTarget),二者遵循相同的规则逻辑。“应用于”用于指定规则作用的物体形态,“作用目标”用于指定物体可放置或不可放置的位置。

·更多示例
·应用于配置示例
"ApplyTo": {
    "Type": "All"
}

"ApplyTo": {
    "Type":"FormId",
    "Values": ["135BA"]
}

"ApplyTo": {
    "Type":"FormId",
    "ModName": "ccbgssse005-goldbrand.esl",
    "Values": ["809"]
}

"ApplyTo": {
    "Type":"FormType",
    "Values": ["MovableStatic", "Static", "Door", "NPC"]
}

"ApplyTo": {
  "Type": "ModelPath",
  "Values": [
      "Furniture",
      "Clutter",
      "Architecture/WhiteRun/WRClutter",
      "Architecture/Riften/Clutter",
      "Architecture/SkyHavenTemple/Clutter",
      "Architecture/Solitude/Clutter"
    ]
}

"OnTarget": {
    "Type":"GroundTexture",
    "Values": ["Grass","Dirt"]
}
·形态类型列表
plugininfo
formgroup
gamesetting
keyword
locationreftype
action
textureset
menuicon
global
class
faction
headpart
eyes
race
sound
acousticspace
skill
magiceffect
script
landtexture
enchantment
spell
scroll
activator
talkingactivator
armor
book
container
door
ingredient
light
misc
apparatus
static
staticcollection
movablestatic
grass
tree
flora
furniture
weapon
ammo
npc
levelednpc
keymaster
alchemyitem
idlemarker
note
constructibleobject
projectile
hazard
soulgem
leveleditem
weather
climate
shaderparticlegeometrydata
referenceeffect
region
navigation
cell
reference
actorcharacter
projectilemissile
projectilearrow
projectilegrenade
projectilebeam
projectileflame
projectilecone
projectilebarrier
placedhazard
worldspace
land
navmesh
tlod
dialogue
info
quest
idle
package
combatstyle
loadscreen
leveledspell
animatedobject
water
effectshader
toft
explosion
debris
imagespace
imageadapter
formlist
perk
bodypartdata
addonnode
actorvalueinfo
camerashot
camerapath
voicetype
materialtype
impact
impactdataset
armature
encounterzone
location
message
ragdoll
defaultobject
lightingmaster
musictype
footstep
footstepset
storymanagerbranchnode
storymanagerquestnode
storymanagereventnode
dialoguebranch
musictrack
dialogueview
wordofpower
shout
equipslot
relationship
scene
associationtype
outfit
artobject
materialobject
movementtype
soundrecord
dualcastdata
soundcategory
soundoutputmodel
collisionlayer
colorform
reverbparam
lensflare
lenssprite
volumetriclighting

·材质ID列表(用于地面纹理)
none
stonebroken
blockblade1hand
meat
carriagewheel
metallight
woodlight
snow
gravel
chainmetal
bottle
wood
ash
skin
blockblunt
dlc1deerskin
insect
barrel
ceramicmedium
basket
ice
glassstairs
stonestairs
water
draugrskeleton
blade1hand
book
carpet
metalsolid
axe1hand
blockblade2hand
organiclarge
amulet
woodstairs
mud
bouldersmall
snowstairs
stoneheavy
dragonskeleton
trap
bowsstaves
alduin
blockbowsstaves
woodasstairs
steelgreatsword
grass
boulderlarge
stoneasstairs
blade2hand
bottlesmall
boneactor
sand
metalheavy
dlc1sabrecatpelt
iceform
dragon
blade1handsmall
skinsmall
potspans
skinskeleton
blunt1hand
stonestairsbroken
skinlarge
organic
bone
woodheavy
chain
dirt
ghost
skinmetallarge
blockaxe
armorlight
shieldlight
coin
blockblunt2hand
shieldheavy
armorheavy
arrow
glass
stone
waterpuddle
cloth
skinmetalsmall
ward
web
trailersteelsword
blunt2hand
dlc1swingingbridge
bouldermedium

下载地址:

游客,如果您要查看本帖隐藏内容请回复








评分

1

查看全部评分

回复

使用道具 举报

16

主题

4330

帖子

4570

积分

游戏精英

Rank: 8Rank: 8

贡献度
18
金元
44983
积分
4570
精华
0
注册时间
2012-6-1
舒服的沙发
发表于 2025-9-10 17:24 | 只看该作者
很适合自己搞装修的玩家
回复 支持 反对

使用道具 举报

0

主题

412

帖子

446

积分

高级玩家

Rank: 4

贡献度
0
金元
4461
积分
446
精华
0
注册时间
2020-2-27
硬硬的板凳
发表于 2025-12-6 11:26 | 只看该作者
66666666666666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

320

帖子

525

积分

高级玩家

Rank: 4

贡献度
0
金元
5250
积分
525
精华
0
注册时间
2023-4-17
冰凉的地板
发表于 2025-12-6 22:43 | 只看该作者
re3qr235r2345
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-30 06:55 , Processed in 0.033682 second(s), 19 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表