OVRLipSync 是Oculus为Unity开发的一个口型同步插件, 能够实时处理语音数据转换成相应的口型, 按照它的规范, 一共有15个口型:
上面的截图是基于MorphTarget的...好在可以与Oculus的人进行邮件上的沟通, 搞懂了所有函数的参数的意义后终于把效果调试正确了....在此基础上, 我也参考Unity插件的功能, 重写了一些代码, 支持多个实例对象, 并且把处理音频的接口暴露出来, 以便于使用自定义的音源来驱动口型, 如使用一段录音....这是在UE4中运行的效果:
有几个需要注意的地方:
由于UE4的麦克风录音是写死的16000的采样率, 所以我在OVRLipSyncInitialize时就设置成了固定的16000的采样率, 至于...BufferSize是参考Unity的默认设置1024, 为了延迟也可以自行改小一些
OVRLipSyncProcessFrame目前的版本(1.0.1)是有Bug的, 被坑了很久, 跟Oculus的人确认现在的版本只有