在Unity中实现音口同步-01-概述
在Unity中实现音口同步-02-Salsa
在Unity中实现音口同步-03-OneClick
OneClick
官方文档: https://crazyminnowstudio.com/docs/salsa-lip-sync/addons/one-clicks/
OneClick,一键配置,即Salsa的开发者提供的一套预设,开发者编写了一些oneclick脚本(你可以在插件官网下载到),但是只适用于一些特定的3D模型系统,你也可以参考这些oneclick脚本模板来编写自己的oneclick脚本。
初步体验OneClick的操作:
把Example文件夹(我忘了好像是要去官网下载Example资源包的)里的boxHead模型拖进场景,选中模型,然后在菜单栏点击"GameObject/Crazy Minnow Studio/SALSA LipSync/One-Clicks/boxHead.v2-SALSA demo",就可以自动为该模型配置SALSA。
如果你只要求3个口型变化(saySmall、sayMedium、sayLarge),那么研究OneClickBoxhead.cs这个脚本就够了。如果你希望使用更丰富的口型变化(比如下图 w, t, f, th, ow, ee, oo),你可以去插件官网下载OneClickBase和适合你模型的oneclick(需要提供购买的发票号)。
其实,如果你的模型不带“w, t, f, th, ow, ee, oo”这些口型的blendshapes,也不要紧,因为我猜吧,这个插件并不能严格还原语音,我猜它只是对音频做采样,在[0,1]区间里给当前音色评分,数值越靠近1,说明口型张得越大,越像是发“oo”的音;数值越靠近0,说明口型张得越小,越像是发“w”的音。所以,你只需要从你现有的口型里按从小到大的顺序拆7个口音出来就好啦(不过这么麻烦的话不如就用张小嘴、张嘴、张大嘴3种口型,效果也OK啦)
关于代码的笔记:
- 新建一个脚本叫做OneClickAvatar,然后把OneClickBoxhead.cs的内容都拷贝过来,按照你需要的参数修改它~
- 选中你的人物,在菜单栏点击你新写的按钮,就配置好啦
或者写代码直接调用按钮的函数AvatarHeadSetup()
或者EditorApplication.ExecuteMenuItem("GameObject/Crazy Minnow Studio/SALSA LipSync/One-Clicks/OneClickAvatar");
- 我用麦克风作为音源,本来只要添加了SalsaMicInput脚本后,勾选linkWithSalsa,就自动会添加脚本SalsaMicPointerSync的,而现在写oneclick脚本的时候需要
AddComponent<SalsaMicInput>()、AddComponent<SalsaMicPointerSync>()
。这里不会因为你写了变量linkWithSalsa = true就自动加载第二个脚本。(因为负责自定义面板的脚本只会运行OnEnable()函数,而你通过写代码修改面板上的参数是不会触发OnInspectorGUI()函数的)
最后
以上就是活泼嚓茶最近收集整理的关于在Unity中实现音口同步-03-OneClick的全部内容,更多相关在Unity中实现音口同步-03-OneClick内容请搜索靠谱客的其他文章。
发表评论 取消回复