从零开始的生化危机4重制版Modding教程 Part2 变更模型浏览器中的人物姿势

从零开始的生化危机4重制版Modding教程 Part2

本教程适合具有一定技术能力的玩家修改客制化mod,编辑一些简单的建模、材质乃至姿势等。本教程是作者在实践中一知半解的编写的,可能出现纰漏。

变更模型浏览器中的姿势

概述

此处的动画(Animation)是游戏中各种角色的动作,例如Ashley坐在橡木桶上时,调出REframework界面可以看到相关信息。

image

上图中,右侧的Animation中显示了当前Ashley这个角色(ch2a1z0)正在循环播放一个编号为9160的动画:cha1_exception_9106_shooting_field_loop。

RE Engine的动画和flash动画类似,都是依靠关键帧进行控制。不同的是,关键帧控制的是骨骼的各种参数。我们需要使用3dsMax和blender来进行动画编辑。如果你熟悉3dsmax,则blender不是可选项。

而有趣的是,游戏中的模型浏览器中的人物的动作(姿势)也是一个动画文件控制的,只不过这个文件内不含一帧以上的关键帧,所以你看到的是静态的模型(因此你可以在有能力后把模型改成动态的)。

现在我们将介绍一下控制游戏内动画的文件:motlist和mot。

image

这个文件夹中包含了Ashley的所有能够使用的motlist文件。你注意到了吗,在前面的图中,打开的一个子选项卡“NpcInteract"出现了。是的,正如你看到的,motlist里包含了一些其他的小的动作。你可以理解为,motlist就是mot list,只是一个简单的文件集合。而动作的可播放的最小单位则是mot文件。而一个典型的mot文件对应如下:
image

这个超级帅的盔甲的姿势文件(即一个一帧的动画)就是这个mot文件。后面我们将调整这个文件的姿势,然后应用到另一个模型上。

准备工作

要编辑Mot和Motlist文件,你需要

编辑姿势

下面我将以编辑刚才图片中Ashley的盔甲装为例,把这个盔甲装的姿势变更一下,然后替换到浪漫主义的姿势上。

首先明确文件夹路径和结构。我们将涉及下面四个文件夹:

  • natives\STM\_Chainsaw\AppSystem\UI\Figure\Figure00_060:艾什莉(盔甲)
  • natives\STM\_Chainsaw\AppSystem\UI\Figure\Figure00_040:浪漫主义
  • natives\STM\_Chainsaw\Animation\ch\cha1\motlist:ashley的动作molist文件夹
  • natives\STM\_Chainsaw\Character\ch\cha1\cha101\00:ashley的无袖装建模文件夹

然后,我们要修改和替换的文件的过程如下:

  1. 取出街头装中的Figure00_060_Body_pose_mot.mot.613文件
  2. 用010编辑器将Figure00_060_Body_pose_mot.mot.613文件以“狸猫换太子”的手法替换到cha1_wait.motlist.663
  3. 使用3ds Max导入一个Ashley的身体模型(cha101_00.mesh.221108797),并同时导入Animation(cha1_wait.motlist.663
  4. 在3ds Max中编辑姿势
  5. 将姿势注入到cha1_wait.NEW.motlist.663
  6. cha1_wait.NEW.motlist.663提取出mot数据,保存为新的mot文件
  7. 创建Mod,实现姿势替换。

准备工作

为了避免混乱,我把所有文件都放在了一个文件夹里。如下图所示

image

文件夹层次如下:

Directory structure for ...\NewAshleyPose
|--cha101_00.mesh.221108797					# Ashley无袖mesh
|--cha1_wait.motlist.663					# motlist文件
|--Figure00_040								# 浪漫主义相关文件夹
|  |--Figure00_040_body_00.mot.613			#  身体姿势
|  |--Figure00_040_head_00.mot.613			#  头部姿势
|  |--FigureModel_Figure00_040.pfb.17		# pfb文件
|  |--FigureModel_Figure00_040_Strand.pfb.17
|--Figure00_060_Body_pose_mot.mot.613		# 街头装姿势

将mot文件插入motlist

确保010编辑器安装了前述所需的模板(安装很简单,在此不表)。安装正常后,010在模板子菜单应该类似下图:

image

红框部分的两个模板是必要的,其余的在这里暂时用不到。motbank文件就是.mot文件的模板。

首先导入motlist文件,运行motlist文件的模板:

image

选中其中的MOT ID字段,确保二进制区中对应的字节被蓝色选中

image

ps:如果你有多个MOT字段,那么建议你检查你的文件复制对了吗?理论上其他文件也是一样的,只是需要计算更多的偏移。我选择的这个文件只含一个mot,非常适合狸猫换太子

Figure00_060_Body_pose_mot.mot.613拖进去打开,然后按下Ctrl+A全选,然后复制。

切回刚才的Motlist文件,将选中的蓝色部分删除。

image

按下键盘上的Insert键,当然,你也可以点击右下角将键入模式改为插入,然后将mot文件粘贴到motlist中。(注意右下角的INS标志)

image

随后,记住蓝色部分的下一行的地址。这是一个偏移,如上图所示,这个值为0x2B40。随后,点击模板结果里的HEADER中的colOffs修改为这个值。

image

保存motlist文件即可。

使用3dsMax导入并编辑姿势

启动3dsMax之后,运行REEM_NOESIS_CMD.msmotlist tool.ms

image

正常情况下,你的3dsMax此时的窗口大概会变成这样:

image

下面,在1处,点击Browse定位到你下载的Noesis可执行文件位置,确保路径正确。

image

然后,点击上方的Import Mesh/Animation,在弹出的窗口中选择你要导入的mesh文件 ,即cha101_00.mesh.221108797。随后,在打开的窗口中选择Select Animations打开动画选择子窗口。

如果这个窗口没有出现,很可能是因为在后台。你可以按下Win+D切换到桌面后,再按下win键,一般就会出现了

image

在弹出的子窗口中,依次按照图上的标志选择对应的项目。注意:如果你的路径不对的话,请更改上面的“Motlist files from”路径

image

点击OK并点击Load之后,在导入fbx窗口点击确认即可导入模型

image

导入后,3dsMax的界面大概会像这样:

image

下面我们对这个姿势进行一些调整。我们首先将视窗调整为透视三维视图。

image

现在窗口中显示的是mesh文件,而需要调整的是骨骼,因此我们需要让骨骼可见。按照下面的操作指示,将所有骨骼变为可见状态。(选择左侧栏目中的“root”根项,然后右键选择子节点,随后点开前面的小眼睛)

image

现在在人物上已经有了骨骼模型,下一步我们将调整这个骨骼模型。我个人习惯将直接使用默认明暗处理进行调整。

(这一步可以自行设计姿势)

image

如上所示,展开root下的逐个骨骼,找到L_Shoulder然后选中,打开选择并旋转按钮(2),三维视图中就会出现一个gizmos球。旋转这个gizmos球就可以控制人物的左肩膀。这里就可以自行更改姿势了

image

一些小细节要注意:

当导入的骨骼出现编号,如下图

image

需要先选中人物的任意一个建模,然后点击右侧的“Add/Remove Bone Numbers”来将编号删除。

另外,要注意操作骨骼时,位移工具、缩放工具要插帧。

如图,正常情况下,导入的mesh只有旋转的K帧

image

此时进行位移和缩放是不会生效的,你需要点击右下角的“设置关键点”来启用其他三个轨道的K帧。

image

下面的帧显示出三色就说明缩放、位移、旋转都应用了。(笔者因为这个笨问题卡了好久)

image

这样,操作位移、缩放就可用了。

更改结束之后,可以向保存为max文件以便后续使用。

选择“脚本”后选择骨骼工具

image

随后,选中所有骨骼,然后点击勾选“启用骨骼”

image

将动画注入到motlist中(覆写)

找到MOTLIST选项卡,点击OPEN .MOTLIST按钮,打开子菜单

image

随后点击INJECT ANIMATION,编辑好的姿势就已经注入到一个新的motlist里了。

image

从motlist中取出mot文件

打开010编辑器,应用模板之后应该看到一个MOT ID项目。选中这个项目,然后在文件-保存选择中将mot的二进制数据导出成新文件。为了方便起见,我们就直接命名为Figure00_040_body_00.mot.613

image

至此,一个姿势就已经编辑完毕。

创建mod文件

Fluffy Mod Manager的工作原理是进行替换文件。因此,我们按照原来的Figure00_040_body_00.mot.613的文件夹结构创建一个文件夹结构。在工作目录下打开终端,输入

mkdir MyPose\natives\STM\_Chainsaw\AppSystem\UI\Figure\Figure00_040\

就能够方便的创建嵌套文件夹,补充必要的modinfo信息和mod图片。作为参考,我的modinfo.ini如下:

name=MyPose
version=1
description=A demo pose for ashley
screenshot=modpic.png
author=hed10ne
category=Ashley

随后,将工作目录里的Figure00_040整个合并到mod文件夹中,然后用刚才从010编辑器中生成的mot文件替换其中的Figure00_040_body_00.mot.613。压缩之后放入Mod加载器,加载即可。

image

最终效果

image

后续

如果需要编辑动画,则只需要编辑关键帧里的骨骼。具体的操作是,打开具有多个帧的动画时,3ds会显示每个帧的动画关键帧。只需要编辑关键帧的骨骼,分别做好姿势,就能做好动画。

posted @ 2025-06-07 21:41  二氢茉莉酮酸甲酯  阅读(469)  评论(0)    收藏  举报