跳到主要内容

Maya导入与联动

这是将CriLipsMake2输出的日语五元音动画曲线文件(.adxlip)嵌入FBX的示例。

概要

本包中包含以下脚本,可将口型数据文件(.adxlip)作为动画关键帧导入:

  • ADXLipSync2Maya.mel
  • ADXLipSync2Maya.py

可用于在Maya上确认口型数据文件,或集成到现有工作流程中。

同时,随附有用于ADXLipSync2Maya脚本的验证示例场景(适用于Maya2017):
cri/tools/CRILipSyncAlive/samples/MayaProject/adxlip_maya_import_sample ADXLipSync2Maya 脚本验证示例场景

脚本使用步骤

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导入时设置各项参数。

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名称。

Shape Editor(参考)

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”等其他属性。
  • 计算每帧时间(毫秒)(第114行起)

    • 根据对话框设置的fps值计算每帧时间,将adxlip的时间(毫秒)转换为帧并打关键帧。
  • 读取adxlip文件(第117行起)

    • 跳过头部处理在第124行起。
  • adxlip文件数据转换处理(第135行起) 从文件开头到结尾,逐行读取口型信息,并重复以下操作:

    • 时间处理
    • 设置各日语五元音BlendShape量到属性
    • 设置关键帧
  • 文件关闭及处理完成通知(第167行起)