在Unity中实现音口同步-03-OneClick

在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啦)

关于代码的笔记:

  1. 新建一个脚本叫做OneClickAvatar,然后把OneClickBoxhead.cs的内容都拷贝过来,按照你需要的参数修改它~
  2. 选中你的人物,在菜单栏点击你新写的按钮,就配置好啦
    或者写代码直接调用按钮的函数AvatarHeadSetup()
    或者EditorApplication.ExecuteMenuItem("GameObject/Crazy Minnow Studio/SALSA LipSync/One-Clicks/OneClickAvatar");
  3. 我用麦克风作为音源,本来只要添加了SalsaMicInput脚本后,勾选linkWithSalsa,就自动会添加脚本SalsaMicPointerSync的,而现在写oneclick脚本的时候需要AddComponent<SalsaMicInput>()、AddComponent<SalsaMicPointerSync>()。这里不会因为你写了变量linkWithSalsa = true就自动加载第二个脚本。(因为负责自定义面板的脚本只会运行OnEnable()函数,而你通过写代码修改面板上的参数是不会触发OnInspectorGUI()函数的)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值