Alchemist
介绍
由于现在只是捐助者测试版,所以暂不会放出软件下载地址,仅提供教程。
Alchemist意为炼金术师,由Scobalula
开发,是一个用来处理CoD动画效果的工具。它支持如下功能:
- 叠加动画 (Additive Anim)
- 混合动画 (Blend Anim) (常用于手势、滑铲)
- IK
目前软件只有CLI(命令行)版本,用起来确实很费劲,但是作者在之后会制作GUI(图形界面)版本。
首先明确一点,现在只支持SE系列格式文件,也就是SEModel
和SEAnim
作为模型和动画。
在软件目录的Readme.md
文件中我们可以看到所有的指令的使用方法。
一些指令参数会有一定的默认值
- 默认左右手都会开启IK
- IK骨骼的默认名称是
tag_ik_loc_le
和tag_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.semodel
和 output.seanim
。
我们可以直接把他们导入到软件中查看效果。如果没更换模型,不需要每次生成动画都重新导入模型。
其他参数
游戏中很多枪在战术冲刺时左手并不会举着枪,而是在空中挥舞,软件默认会开启左手的IK,我们可以添加一个参数关闭:
- --enable-left-hand-ik "False"
如果我们装有握把配件,应该叠加一个左手手部的姿势(一般会命名为pose_xxx),并指定新的IK骨骼作为IK目标,添加如下参数:
- --left-hand-pose-file "
包括路径的动画文件名
" - --left-iktarget-bone-name "
握把上IK骨骼的名字
"