更换 Destiny Child 中角色的 Drive Skill 动画

上一篇文章《替换 Destiny Child 中的角色模型 (上)》中介绍了如何替换 Destiny Child 的角色模型。但是替换之后该角色的 DS 动画依旧是原角色的动画,下面介绍如何修改为目标角色的 DS 动画。

依旧是举个🌰 - 替换赛莲的 DS 动画为摩根的

  • 复制文件

首先观察文件得出摩根 DS 动画的主文件为 /files/effect/battle/sfx_atk_skill_drive_fire_c283.mvd

* 在桌面新建一个文件夹(battle),把 `sfx_atk_skill_drive_fire_c283.mvd` 文件复制进来。
* 用十六进制编辑软件打开该文件,寻找字符串“ `effect\` ”,把 mvd 引用到的所有(**日版资料夹中没有与之对应的**)文件按照原结构复制到 battle 文件夹下。
* 把最外层那个 mvd 文件名修改为你要替换的角色对应的文件名,例如替换赛莲则改名为 `sfx_atk_skill_drive_dark_c061.mvd`
> 最终目录结构如下
1
2
3
4
5
6
7
8
9
10
11
.
├── element
│   ├── ele_c283.mvd
│   ├── ele_c283_02.mvd
│   ├── ele_c283_03_sword.mvd
│   ├── fx_c283.png
│   ├── fx_c283_02_broken.png
│   ├── fx_c283_eye_add.png
│   ├── sfx_com_c283.mmd
│   └── sfx_com_c283_02.mmd
└── sfx_atk_skill_drive_dark_c061.mvd
* 把该文件夹复制到日版资料夹中 `/files/effect/` 中覆盖,重启游戏即可发现ds已被更换

先别忙,还有一个问题

一般我们要替换的角色 DS 动画都会很复杂,持续时间会比原角色的 DS 动画更久,然后我们就会发现动画还没播放完,伤害数字已经出现了,很不契合。而且更严重的可能会导致 DS 施放完毕,对面已经开始还击了而你还在看剩下的动画……

那么如何解决它呢

经观察,控制 DS 动画时间长短的参数存放在 /files/pack.pck

  • 我们使用 PckTool 解开它,打开 0866.json 文件,搜索“ sfx_atk_skill_drive_fire_c283 ”,把其中的内容覆盖替换到“ sfx_atk_skill_drive_dark_c061 ” (其中的 hold 参数即代表动画持续时间)
  • 双击 PckTool,设置好 Res directory 与 Original PCK file,勾上 Strict replace mode[1] (不勾选该模式的话打出来的包可能会导致进游戏卡在 loading 界面中,原因暂时未知)

[1]: 该工具更新增加了这种模式,启用 Strict replace mode 的话,则 Res directory 中的文件只有后缀为 .replace 的文件才会被替换进 PCK 包内,否则使用 Original PCK file 中的原始文件内容。

所以记得把 0866.json 更名为 0866.json.replace 再打包

最终效果