鼓掌之间 发表于 2025-7-21 15:35

动态动画替换器

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

- 描述
此MOD可根据不同条件动态替换角色动画。支持大多数角色,包括生物。也支持MOD添加的角色和动画。无ESP文件。

分配动画有两种方式。两种情况下,你都需要将文件放在相应的文件夹中。无需特殊工具。如果你使用的是FNIS性别特定动画,将引用女性或男性文件夹中的文件。在这种情况下,你需要将文件放在该路径的文件夹中。

+ 基于ActorBase的分配
为每个NPC分配不同的动画。将动画文件放在以下文件夹中:

meshes\actors\(项目文件夹)\animations\DynamicAnimationReplacer\(esp名称)\(角色基础ID)\(动画文件夹和文件)
(项目文件夹)是包含种族行为图表集的文件夹。示例:character
(角色基础ID)必须为8个字符。前两个字符为00。

示例:
玩家 - meshes\actors\character\animations\1hm_attackpowerleft.hkx
-> meshes\actors\character\animations\DynamicAnimationReplacer\Skyrim.esm\00000007\1hm_attackpowerleft.hkx
瑟拉娜 - meshes\actors\character\animations\female\mt_idle.hkx
-> meshes\actors\character\animations\DynamicAnimationReplacer\Dawnguard.esm\00002B6C\female\mt_idle.hkx

+ 基于自定义条件的分配
自行设置条件,并相应地分配动画。将动画文件和_conditions.txt放在以下文件夹中:

meshes\actors\(项目文件夹)\animations\DynamicAnimationReplacer\_CustomConditions\<优先级>\(动画文件夹、文件和_conditions.txt)
<优先级>是一个范围在-2147483648至2147483647之间的十进制数字,不包括0。数字越大,优先级越高。上述基于ActorBase的分配优先级为0。

_conditions.txt是一个名为_conditions的文本格式文件。在这个文件中指定设置条件的函数。多个条件可以用AND和OR连接。你可以使用NOT来否定一个条件。

(NOT) 函数名称("esp名称" | 表单ID, ...) (AND或OR)
...
esp名称用""括起来。使用0x前缀以十六进制形式指定表单ID。删除或替换表示加载顺序的前两位数字。示例:0xAA123456 -> 0x00123456
按照以下方式将esp名称和表单ID作为函数的参数指定:
IsEquippedRight(物品表单) -> IsEquippedRight("aaa.esp" | 0x00123456)
也可以直接为全局变量指定数字:
IsEquippedRightType(全局变量类型) -> IsEquippedRightType(3)

示例:
右手装备铁匕首且在室外的角色
IsEquippedRight("Skyrim.esm" | 0x0001397E) AND
NOT IsInInterior()

逻辑运算的执行方式与CK相同:
(A || B) && C
=A || B && C
A OR
B AND
C

(A && B) || C
=A || C && B || C
A OR
C AND
B OR
C

函数列表
v1.0.0
IsEquippedRight(物品表单)
角色右手是否装备了指定物品?
IsEquippedRightType(全局变量类型)
角色右手装备的物品是否为指定类型?
IsEquippedRightHasKeyword(关键字)
角色右手装备的物品是否具有指定关键字?
IsEquippedLeft(物品表单)
角色左手是否装备了指定物品?
IsEquippedLeftType(全局变量类型)
角色左手装备的物品是否为指定类型?
IsEquippedLeftHasKeyword(关键字)
角色左手装备的物品是否具有指定关键字?
IsEquippedShout(呐喊表单)
角色当前是否拥有指定呐喊?
IsWorn(物品表单)
角色是否穿着指定物品?
IsWornHasKeyword(关键字)
角色是否穿着带有指定关键字的物品?
IsFemale()
角色是否为女性?
IsChild()
角色是否为儿童?
IsPlayerTeammate()
角色当前是否为玩家的队友?
IsInInterior()
角色是否在室内单元格中?
IsInFaction(派系)
角色是否属于指定派系?
HasKeyword(关键字)
角色是否具有指定关键字?
HasMagicEffect(魔法效果)
角色当前是否受到指定魔法效果的影响?
HasMagicEffectWithKeyword(关键字)
角色当前是否受到带有指定关键字的魔法效果的影响?
HasPerk(技能)
角色是否拥有指定技能?
HasSpell(法术表单)
角色是否拥有指定法术或呐喊?
IsActorValueEqualTo(全局变量ID, 全局变量值)
指定ID的角色值是否等于该值?
IsActorValueLessThan(全局变量ID, 全局变量值)
指定ID的角色值是否小于该值?
IsActorValueBaseEqualTo(全局变量ID, 全局变量值)
指定ID的基础角色值是否等于该值?
IsActorValueBaseLessThan(全局变量ID, 全局变量值)
指定ID的基础角色值是否小于该值?
IsActorValueMaxEqualTo(全局变量ID, 全局变量值)
指定ID的最大角色值是否等于该值?
IsActorValueMaxLessThan(全局变量ID, 全局变量值)
指定ID的最大角色值是否小于该值?
IsActorValuePercentageEqualTo(全局变量ID, 全局变量值)
指定ID的角色值百分比是否等于该值?
IsActorValuePercentageLessThan(全局变量ID, 全局变量值)
指定ID的角色值百分比是否小于该值?
IsLevelLessThan(全局变量等级)
角色的当前等级是否小于指定等级?
IsActorBase(角色基础)
角色的角色基础是否为指定的角色基础?
IsRace(种族)
角色的种族是否为指定种族?
CurrentWeather(天气)
当前天气是否为指定天气?
CurrentGameTimeLessThan(全局变量时间)
当前游戏时间是否小于指定时间?
ValueEqualTo(全局变量值1, 全局变量值2)
值1是否等于值2?
ValueLessThan(全局变量值1, 全局变量值2)
值1是否小于值2?
Random(全局变量百分比)
指定百分比(0到1)的概率。
==========================================================================
v1.1.0新增
IsUnique()
角色是否被标记为独特?
IsClass(职业)
角色的职业是否为指定职业?
IsCombatStyle(战斗风格)
角色的战斗风格是否为指定战斗风格?
IsVoiceType(声音类型)
角色的声音类型是否为指定声音类型?
IsAttacking()
角色当前是否正在攻击?
IsRunning()
角色当前是否正在跑步?
IsSneaking()
角色当前是否正在潜行?
IsSprinting()
角色当前是否正在冲刺?
IsInAir()
角色是否在空中?
IsInCombat()
角色是否在战斗中?
IsWeaponDrawn()
角色是否已拔出装备的武器和/或魔法咒语?
IsInLocation(位置)
角色是否在指定位置或该位置的子位置中?
HasRefType(位置引用类型)
角色是否附加了指定的位置引用类型?
IsParentCell(单元格)
角色是否在指定单元格中?
IsWorldSpace(世界空间)
角色是否在指定世界空间中?
IsFactionRankEqualTo(全局变量等级, 派系)
角色在指定派系中的等级是否等于指定等级?
IsFactionRankLessThan(全局变量等级, 派系)
角色在指定派系中的等级是否小于指定等级?
IsMovementDirection(全局变量方向)
角色是否正在向指定方向移动?

请注意,Random()函数在某些动画中可能会无意中混淆。

有关角色值ID,请参考以下内容:
https://www.creationkit.com/index.php?title=ActorValueInfo_Script

物品类型如下:
-1=其他
0=拳头
1=剑
2=匕首
3=战斧
4=钉锤
5=巨剑
6=战锤
7=弓
8=法杖
9=弩
10=战锤
11=盾牌
12=变化系法术
13=幻术系法术
14=毁灭系法术
15=召唤系法术
16=恢复系法术
17=卷轴
18=火把

角色在指定派系中的等级:
-2 如果角色不属于该派系。
-1 如果角色属于该派系,且等级设为-1。按照惯例,这意味着他们最终可能成为该派系的成员。
一个非负数字,表示角色在派系中的等级。

移动方向:
0=静止不动
1=向前
2=向右
3=向后
4=向左

如果你在应用动画时遇到问题,请打开"..My Games\Skyrim Special Edition\SKSE\DynamicAnimationReplacer.log"。可能会有错误消息。

注意:
每个项目的动画文件最大数量为16384。这个数字是《上古卷轴5》原始文件、其他MOD添加的文件以及此MOD添加的文件的总和。如果数量过多,将显示错误消息框,并且动画将无法加载。如果你想知道当前的动画数量,请打开日志。

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


- 兼容性
尚未发现不兼容的MOD。

下载地址:

**** Hidden Message *****

一之濑琴月 发表于 2025-7-23 13:27

有更详细的教程就好了

ttjttj 发表于 2025-7-30 08:07

感谢分享{:3_90:}

jing2058 发表于 2025-10-3 10:44

感谢分享

jing2058 发表于 2025-10-3 10:56

好复杂一脸懵逼的我

langgua 发表于 2025-11-15 10:11

谢谢分享

yu83782326 发表于 2025-11-17 14:25

谢谢大佬

腿腿推 发表于 2025-11-26 18:57

谢谢分享

夏忆__凉 发表于 2025-12-24 11:44

感谢分享

18696176729 发表于 2026-1-8 22:37

感谢分享

3dmtr_35682745 发表于 2026-2-13 13:09

6666666666

2327681981 发表于 2026-3-25 20:17

ddddddddddddddddddddd

fff111111222 发表于 2026-3-27 09:30

66666666666666

姚嘞个摇1 发表于 2026-3-27 16:06

看到楼主这么努力分享,我只能顶个贴感谢一下了!感谢论坛,感谢LZ热心分享!

O盗盗O 发表于 2026-3-28 17:11

RE: 动态动画替换器 [修改]

e77a 发表于 2026-4-8 19:44

真的很需要

qwer4450339 发表于 2026-5-25 00:41

fghsfsdfsdfsdf

淡灰色氛氲 发表于 2026-6-21 17:03

66666666666666666666666666666

331987569@qq.co 发表于 2026-6-27 04:24

666666666666666666666666666666666666666666

群星之光 发表于 2026-7-4 17:13

666666666666666666666666666666666666666666666666666

a450862511 发表于 2026-7-23 00:52

666666666666
页: [1]
查看完整版本: 动态动画替换器