Maya导入与联动
这是将CriLipsMake2输出的日语五元音动画曲线文件(.adxlip)嵌入FBX的示例。
概要
本包中包含以下脚本,可将口型数据文件(.adxlip)作为动画关键帧导入:
- ADXLipSync2Maya.mel
- ADXLipSync2Maya.py
可用于在Maya上确认口型数据文件,或集成到现有工作流程中。
同时,随附有用于ADXLipSync2Maya脚本的验证示例场景(适用于Maya2017):
cri/tools/CRILipSyncAlive/samples/MayaProject/adxlip_maya_import_sample

脚本使用步骤
1. 准备文件
请准备以下文件:
- 台词音频文件(.wav)
- 解析台词得到的口型数据文件
- 需要分配台词的角色Maya场景
2. 读取Maya场景
通过主菜单 [File] - [Open Scenes...] 打开需要分配台词的角色Maya场景。
3. 读取台词音频文件
将台词音频文件(.wav)拖拽到Maya的时间轴上。

音频文件读取后,预览时会播放音频。
如未能播放,请检查[Preferences] - [Time Slider]中的Playback speed或[Play every frame]设置。
4. 读取并执行脚本文件
执行ADXLipSync2Maya脚本。脚本位于 cri\tools\CRILipSyncAlive\samples\MayaProject\adxlip_maya_import_sample\ADXLipsync2Maya_py3.py。
脚本执行方法有以下两种:
MEL脚本文件
a) 将ADXLipSync2Maya.mel从资源管理器拖拽到Maya视口(即刻读取并执行)。

MEL或Python脚本文件
b1) 打开脚本编辑器(点击Maya窗口右下的{;}图标)。

b2) 将脚本从资源管理器拖拽到脚本编辑器下方输入区。
根据脚本类型切换输入区标签[MEL]或[Python]。

b3) 脚本读取后,按数字键盘的Enter键执行。
执行后会显示ADXLipSync2Maya对话框。
5. ADXLipSync2Maya对话框设置
在ADXLipSync2Maya导入时设置各项参数。

- Lipsync Data File (*.adxlip):设置口型数据文件路径。
- 点击[Browse...]按钮,指定口型数据文件(.adxlip)。
- Maya Scene fps setting:指定Maya场景帧率(默认30fps)。
- Blend Shape Group Name:指定在Shape Editor中显示的BlendShape组名(默认blendShape)。
- Blend Shape:A,I,U,E,O:指定对应あ、い、う、え、お口型的BlendShape名称。

6. 点击[Apply]按钮执行
点击[Apply]按钮后,将使用上述配置将口型数据文件转换为动画关键帧。
右下角显示“*******Processing Exit*******”即处理完成。
7. 预览确认
点击预览播放按钮,可同时播放音频与口型动画。
ADXLipSync2Maya脚本解说
本节为开发者解说口型数据导入脚本ADXLipSync2Maya的流程。
作为工作流适配参考,介绍ADXLipSync2Maya脚本的整体处理流程。
脚本以MEL和Python两种形式提供,处理内容一致。
(行号以MEL脚本版为准)
全局变量定义(第12行起)
设置变量及初始值。如示例场景及各类名称格式不同请自行修改。
窗口定义(第26行起)
定义对话框布局。
loadLipfile()函数(第74行起)
定义点击[Browse...]时弹出的文件选择对话框。
execlip2maya()函数(第84行起)
定义点击[Apply]时执行的函数。
-
从对话框获取信息(第95行起)
- 拼接字符串生成BlendShape名称(第106行起)
生成“BlendShape组名.BlendShape名称”属性名。
※如需为控制器打关键帧,可在此处将字符串指定为“控制器名.translateX”等其他属性。
- 拼接字符串生成BlendShape名称(第106行起)
生成“BlendShape组名.BlendShape名称”属性名。
-
计算每帧时间(毫秒)(第114行起)
- 根据对话框设置的fps值计算每帧时间,将adxlip的时间(毫秒)转换为帧并打关键帧。
-
读取adxlip文件(第117行起)
- 跳过头部处理在第124行起。
-
adxlip文件数据转换处理(第135行起) 从文件开头到结尾,逐行读取口型信息,并重复以下操作:
- 时间处理
- 设置各日语五元音BlendShape量到属性
- 设置关键帧
-
文件关闭及处理完成通知(第167行起)