【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

SALSA使用探索

之前做项目时想实现人物说话的效果,因为我们的语音是AI合成的,有很多片段,如果能根据语音生成嘴部的动画,那将极大便利我们的工作。后面是找到了SALSA的这款插件,并摸索出使用方法。

1 插件介绍

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

官方网站https://crazyminnowstudio.com/
这是一个能做2D纸片人和3D人物模型嘴部和眼睛动画的插件,由两人组成的独立工作室(疯狂米诺工作室)开发。

插件全名为 SALSA With RandomEyes,2014年上架Asset Store,目前是已下架,替换为新版本,名为SALSA LipSync Suite。那么我们为什么不用新版本呢?问的好,因为…找不到能白嫖的资源,咳咳。

; 2 插件使用

起初,我无法阅读官网上的英文文档,所以我直接将插件导入到自己的研究中。以下是使用和探索的过程。

[En]

At first, I couldn’t read the English documents on the official website, so I directly imported the plug-in into my own research. Here is the process of using and exploring.

2.1 导入插件

插件不大,20多M,里面包含官方示例模型。

蓝奏云下载链接https://guichai.lanzout.com/ipKZSyjd1pc (仅供学习用途,请购买正版)

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

; 2.2 官方示例

2.2.1 BlendShape

找到里面 Examples 中的 Models 文件夹,里面有3个模型文件夹,我们用 Ethan 里面的这个人形模型。

(顺便说一句,其他几个官方样本模型太难看了。嘿,为什么不找个艺术家来做一些好看的样品模特呢?销售量肯定会增加。嘿。)

[En]

(by the way, several other official sample models are too ugly. Hey, why not find an artist to make some good-looking sample models? sales will definitely increase. Hey.)

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

模型拖到场景里,选择 char_ethan_body 这个子物体,看到 Skin Mesh Rendered 组件下有一个 BlendShapes,展开它。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

这是一个网格变形器,在其中你可以看到很多可调整的参数。如果我们随机拉一个,我们可以看到角色的脸会相应地改变。

[En]

This is a mesh deformer, in which you can see a lot of adjustable parameters. If we pull a random one, we can see that the face of the character will change accordingly.

这里重要的是前三个 (saySmall/sayMedium/sayLarge),它是控制人物嘴型的。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

; 2.2.2 Salsa 3D (嘴部动画)

给这个带BlendShape的物体加上 Salsa 3D 脚本。此时Audio Source组件也会被自动加上,因为这个脚本运行是依赖声音的。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

看到第三个参数 Audio Clip 为空,我们可以点击右侧圆形图标随便 加一段音频

然后可以点击 Auto-link Shapes,此时三个嘴型 (SaySmall/SayMedium/SayLarge) 会被自动匹配上,这个对应的就是前面讲的BlendShapes里面的那三个参数。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

运行游戏,你可以看到角色开始说话了。由此可见,该插件通过控制三种嘴型实现了嘴部的动画效果。

[En]

Run the game and you can see that the characters begin to talk. From this, we can know that the plug-in realizes the animation effect of the mouth by controlling the three mouth shapes.

(脚本后面还有一些参数,可以对说话动画进行修改,各位自行调试看效果,这里就不讲了)

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

2.2.3 RandomEyes3D (眼部动画)

眼部动画也是类似的。添加 RandomEyes3D 脚本,看到下面 Look Up/Down/Left/Right 这些参数了吧,就是控制人物眼球转动的。然后还有一个 Blink,控制的是眨眼。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

这里我不点Auto-Link,因为所有效果都加上,人的眼睛会左右上下的动,看起来实在太睿智。

所以我就只做个眨眼效果,把 Blink 改下。其实还应该把其他的设为 None,可惜没有这个选项。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

运行游戏时,你可以看到人物的眼睛随机眨眼。

[En]

Run the game, you can see the eyes of the characters blink at random intervals.

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

; 3 人物建模

3.1 思路

插件的原理是根据音频的波形形状,混合三种不同的初始嘴型产生相应的嘴型,那我们的 人物模型必须包含这三个初始嘴型 (BlendShape)

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

将示例人物模型导入3D max中,能看到BlendShape 对应max中 变形器 这个修改器,我们可以就此入手。

第一种思路,也是最合乎情理的思路,就是给现成的人物面部绑骨。绑好骨骼后,通过控制下颌骨实现人物嘴部开合,并调节嘴唇周围肌肉的形状,就能做出这3个嘴型,最后加到变形器里就可以了。

但因为我不知道如何将骨头绑在一个人的脸上,我找到了另一种方法。

[En]

But because I don’t know how to bind bones on a person’s face, I found a second way.

第二种思路,通过Character Creator人物模型制作软件,生成我们初始的人物模型。这个软件生成的模型是附带全身骨骼的,不需要我们绑骨。其次,软件生成的模型也生成了变形器,能控制嘴部的肌肉。

我们可以直接通过这个带有骨骼和变形器的角色模型进行操作,省去了以前的麻烦。

[En]

We can operate directly through this character model with bones and deformers, saving the previous hassle.

; 3.2 过程

3.2.1 CC生成裸模

使用 Character CreatorHeadshot 插件,可以根据照片直接生成模型,非常方便。导入照片等插件运行完,我们细调一下脸部,再调整一下身高大小就可以导出了。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

; 3.2.2 MD制作衣物

在CC中其实是有衣服模型的,但比较少,没有我们想要的。使用 Marvelous Designer 可以制作服饰,我们需要一件短袖加长裤,软件里面刚好自带了这个模板,就直接套用了。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

3.2.3 MAX制作嘴型

鞋子模型网上随便找一个,在 3ds Max 给人加上。使用 蒙皮包裹修改器 把衣服的绑定问题解决。后面就是嘴型制作,主要是通过下颌骨骼与生成模型中自带的变形器完成。那么做好后就可以导入Unity里使用了。

3.2.4 详细流程

具体的操作如下,这是当时写的开发文档。导入Unity后还有些要处理的问题,后面部分没截了,反正应该没人真的想做吧。

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

Original: https://blog.csdn.net/yigiwoliao/article/details/122389453
Author: 里约热内驴
Title: 【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/527091/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球