跳到主要内容

Alchemist

介绍

信息

由于现在只是捐助者测试版,所以暂不会放出软件下载地址,仅提供教程。

Alchemist意为炼金术师,由Scobalula开发,是一个用来处理CoD动画效果的工具。它支持如下功能:

  • 叠加动画 (Additive Anim)
  • 混合动画 (Blend Anim) (常用于手势、滑铲)
  • IK

目前软件只有CLI(命令行)版本,用起来确实很费劲,但是作者在之后会制作GUI(图形界面)版本。

首先明确一点,现在只支持SE系列格式文件,也就是SEModelSEAnim作为模型和动画。

在软件目录的Readme.md文件中我们可以看到所有的指令的使用方法。

一些指令参数会有一定的默认值

  • 默认左右手都会开启IK
  • IK骨骼的默认名称是tag_ik_loc_letag_ik_loc_ri
  • 手臂骨骼链都默认以mw4骨架命名

准备工作

首先确保我们已经安装了.NET 8.0的控制台应用运行支持库,如果没有的话到这里下载x64版本。
下载链接

我们可以在软件目录新建2个文件夹,一个是 Animations ,一个是 Skeleton

先把武器的模型配件合并起来,把合并好的 武器模型.semodel手臂模型.semodel 文件放进 Skeleton 文件夹。

注意

每把枪的每种运动动画都有可能是不同的叠加方式,并不代表例子和动画命名一定通用。

比如说我想叠加一个冲刺动画,一般来说我们需要准备:

  • idle (待机)
  • sprint_offset (偏移)
  • sprint_loop (晃动循环)

以mw4的武器L86的冲刺动画为例,我们需要准备动画:

  • vm_lm_lima86_idle.seanim
  • vm_lm_lima86_sprint_offset_additive.seanim
  • vm_lm_lima86_sprint_loop.seanim

然后把我们想叠加的动画都放进 Animations 文件夹里。
(当然你放别的位置写明路径也可以,这样只是为了方便管理。)

使用

注意

动画文件名要加路径,而且必须先叠加偏移(offset)再叠加晃动(loop)

我们新建一个.bat文件,在里面写如下规则参数:

格式

Alchemist.CLI --input-file "idle动画名" --output-file "输出的动画名" --skeleton-path 模型文件夹名 --additive-layer-file "sprint_offset(偏移)动画名" --additive-layer-file "sprint_loop(晃动循环)动画名"

例子中实际的参数是:

例子

Alchemist.CLI --input-file "Animations\vm_lm_lima86_idle.seanim" --output-file "output.seanim" --skeleton-path Skeleton --additive-layer-file "Animations\vm_lm_lima86_sprint_offset_additive.seanim" --additive-layer-file "Animations\vm_lm_lima86_sprint_loop.seanim"

在最后加一个换行和pause可以防止软件运行完之后直接关闭。

这时我们启动刚才写好的批处理文件运行软件,如果指令和资源都没问题,会在软件目录生成一个 test.semodeloutput.seanim

我们可以直接把他们导入到软件中查看效果。如果没更换模型,不需要每次生成动画都重新导入模型。

其他参数

游戏中很多枪在战术冲刺时左手并不会举着枪,而是在空中挥舞,软件默认会开启左手的IK,我们可以添加一个参数关闭:

  • --enable-left-hand-ik "False"

如果我们装有握把配件,应该叠加一个左手手部的姿势(一般会命名为pose_xxx),并指定新的IK骨骼作为IK目标,添加如下参数:

  • --left-hand-pose-file "包括路径的动画文件名"
  • --left-iktarget-bone-name "握把上IK骨骼的名字"