
Official ModKit 1.3
※官方模组开发工具包
https://www.nexusmods.com/witcher3/mods/3173
WolvenKit-7-nightly
※模组开发工具包
※需.NET Framework 4.8支持
https://github.com/WolvenKit/WolvenKit-7-nightly
ffdec 22.0.2
※flash编译反编译工具
※需Java 8及以上版本支持
https://github.com/jindrapetrik/jpexs-decompiler
quickbms 0.12
※通用文件解封包工具
http://aluigi.altervista.org/quickbms.htm
witcher3.bms 0.1.3
※巫师3的quickbms解封包脚本
http://aluigi.altervista.org/bms/witcher3.bms
自己喜欢的一款字体
※.otf或.ttf均可
本次使用SourceHanSerifSC-Bold.otf进行演示
安装.NET Framework 4.8(若没有)
安装 Java 8或更高版本(若没有)
安装Official ModKit
解压WolvenKit
解压ffdec
解压quickbms
下载witcher3.bms并移动到quickbms文件夹内
运行WolvenKit,首次运行需部署工程环境。
在witcher 3 executable path里选择巫师3的可执行程序。
※注意区分DX11和DX12的版本
在WCC_Lite.exe path里选择Official ModKit的可执行程序。
其他选项默认,点击Save保存配置。
※Color Theme是主题,有暗模式需求则选择VS2015Dark
保存后会提示是否对ModKit进行优化,选择是。
点击Continue Without Project进入主界面。

点击菜单栏File的New Mod创建工程文件。
※文件路径及文件名可自定义,本次演示采用D:\\W3\为工程路径,Font为项目名称。

点击菜单栏File的Asset Browser打开资源浏览器。
在Search中输入fonts_检索游戏内字体文件,在下方列表中双击选择fonts_cn.redswf,待文件添加到右侧Path列表后,点击左下角Add marked files to按钮,当主界面Output提示Succesfully extracted fonts_cn.redswf.后点击资源浏览器右上角的X退出资源浏览器。

在左侧Project Explorer中展开所有分支,双击fonts_cn.redswf文件,在主界面出现的Chunk List窗口中,点击列表内的CSwfResource #0文件,可以在右边看到文件属性。 点击属性中SwfResource的Value键值,会弹出三个按钮,点击Export导出文件(本次导出到默认位置)。导出完成后主界面Output会提示CSwfResource.SwfResource succesfully exported to D:\W3\Font\01.swf表示导出成功。
※文件名随意填写,本次以01演示

打开ffdec,首次打开软件默认为英文。点击菜单栏Settings选项卡的Change language,在弹出的对话框中选择简体中文并确定。
※不要关闭WolvenKit,后面还要用

点击文件选项卡的打开按钮,选中刚刚导出的01.swf文件后点击打开加载文件,在目录树中展开字体列表,选中标有文鼎UD晶熙黑体的字体文件查看属性。并点击右下角的嵌入按钮开始嵌入字体。


在弹出的对话框中,点击TTF文件:<select>右边的按钮,选中我们要替换的字体文件后点击打开。
※.otf文件需要在文件类型栏更改为所有文件才能显示。

字体文件加载后,在列表内勾选所有字符,然后点击确定。在弹出的两次对话框中分别点击全是和是。
※可根据自己的实际需求只替换自己所需要的字符,替换所有字符仅仅是省事罢了。

替换完成后,点击左上角的保存按钮进行保存。
※如果保存按钮为不可选状态,在左侧列表中点一下其他文件便可恢复。

回到WolvenKit中,点击之前三个按钮中的Import按钮,选择ffdec刚刚编辑过的01.swf文件进行导入。导入时出现的文件格式提示弹窗选择是继续导入,导入后可看到Output提示CSwfResource.SwfResource succesfully imported from D:\W3\Font\01.swf表示导入成功。

导入成功后,点击菜单栏Project的Pack and Install Mod选项打包MOD,在弹出的设置窗口中只勾选前两项(Pack bundles 和 Generate metadata. store)的MOD复选框,其他不勾选,点击OK进行封包。Output提示Finished succesfully.即表示封包完成。

这时可以在Output中看到一条错误信息,这是因为ModKit并不支持次世代版本更新,可以忽略。

进入D:\W3(本次的工程地址)\Font(本次项目的资源文件夹)\packed(封包资源文件夹MOD文件夹)\Mods(MOD存放文件夹),可以看到我们输出的MOD文件modFont,因为ModKit并不支持次世代更新,导致我们的MOD文件并没有正确打包字体文件,所以MOD文件看上去非常小。这时我们需要借助quickbms工具和witcher3.bms脚本来重新打包字体文件。
※如果WolvenKit导出MOD时没有报错,且MOD文件大小正常,则不需要后续步骤

来到quickbms文件夹下,在空白处右击,选择在终端中打开进入PowerShell。界面路径显示PS D:\Ohter\witcher3\quickbms 0.12>即代表操作成功。
※一定要在quickbms工具的根目录右击进入PowerShell,否则需要额外操作切换指向路径。界面路径需要指向quickbms工具的根目录,具体提示以各人的实际情况而定。
在终端命令中输入./quickbms -w -r -r witcher3.bms “D:\W3\Font\packed\Mods\modFont\content\blob0.bundle” “D:\W3\Font\cooked\Mods\modFont\content”回车后可看到封包成功。
※路径解析
※D:\W3(本次的工程地址)\Font(本次项目文件的资源文件夹)\packed(封包资源文件夹)\Mods(MOD存放文件夹)\modFont(项目MOD文件夹)\content(核心资源目录)\blob0.bundle(封包后的MOD文件)
※D:\W3(本次的工程地址)\Font(本次项目文件的资源文件夹)\cooked(优化资源文件夹)\Mods(MOD存放文件夹)\modFont(项目MOD文件夹)\content(核心资源目录)
※请根据自身实际情况替换路径。

操作完成后,可以看到MDO文件的大小恢复了正常。即表示MOD制作成功了。

将D:\W3(本次的工程地址)\Font(本次项目文件的资源文件夹)\cooked(优化资源文件夹)\Mods(MOD存放文件夹)文件夹下的MOD文件复制到游戏根目录的MOD文件夹内,即可进游戏查看效果。
