表情的机制
最終更新: 2021年4月27日
本页说明嵌入时使用的表情数据的机制。
有关如何在动画视图中创建表情的信息,请参考“在动画视图中创建表情”。
有关输出嵌入数据的步骤,请参考“嵌入数据”。
有关将表情的motion3文件导入Cubism Viewer(for OW)的步骤,请参考“设置和输出表情”。
关于表情参数
为了在游戏和应用程序中设置表情,您需要准备表情用motion3.json文件。
这里使用的表情用motion3.json文件记载了两个值,即默认值和表情值。
默认值和表情值、以及两个参数值的差都会影响模型的表情。
以“愤怒”的表情为例进行说明。
默认 | 愤怒 |
---|---|
表情默认值、“愤怒”表情值以及它们之间的差如下表所示。
默认 | 愤怒 | 差 | |
---|---|---|---|
左眼 开合 | 1 | 0.8 | -0.2 |
左眼 微笑 | 0 | 0 | 0 |
右眼 开合 | 1 | 0.8 | -0.2 |
右眼 微笑 | 0 | 0 | 0 |
眼珠 X | 0 | 0 | 0 |
眼珠 Y | 0 | 0 | 0 |
左眉 上下 | 0 | -0.4 | -0.4 |
右眉 上下 | 0 | -1 | -1 |
左眉 左右 | 0 | 0 | 0 |
右眉 左右 | 0 | 0 | 0 |
左眉 角度 | 0 | -1 | -1 |
右眉 角度 | 0 | -1 | -1 |
左眉 变换 | 0 | -1 | -1 |
右眉 变换 | 0 | -1 | -1 |
嘴巴 变换 | 1 | -2 | -3 |
嘴巴 开合 | 0 | 0 | 0 |
这个“差”值被添加到单独创建的动态参数值中。
标准设置是加算,但也可以根据Cubism Viewer(for OW)的表情设置和不同程序进行正片叠底。
如果默认值与表情值之差为“0”,则没有变化。
需要注意的参数
因动态经常移动的“左眼 开合”、“右眼 开合”、“眼珠X”、“眼珠Y”与
影响口型同步的“嘴巴 开合”,在设置时必须注意。
关于眼睛开合
为了表达“愤怒”的表情,当眼睛开合相关的“左眼 开合”、“右眼 开合”默认值设置为“1.0”、
表情值设置为“0.8”时,差值“−0.2”被加算到眨眼动态中。
这时,眼睛从开始仅“0.2”就闭上,所以由于眨眼的动作,闭上眼睛的时间要稍长一些,
闭眼时间也会稍长一些。
相反,“惊讶”等睁着眼睛的脸中表情值为“1.2”、差为“0.2”时,
因眨眼而闭眼的“0”时,将加算“0.2”,眼睛不能完全闭上。
在这些情况下,加算很难处理,所以最好使用正片叠底。
关于眼珠位置
建议通过将表情值的眼珠位置设置为与默认值相同来制作表情。
如上所述,默认值和表情值之差在动态播放期间被加算到参数值中,因此,
如果您使用将“眼珠 X”和“眼珠 Y”设置为默认值以外的表情来播放移动视线的动态,视线可能看往非预期的方向。
基本上,建议将“眼珠 X”和“眼珠 Y”设置为默认值,并控制动态侧的视线。
如果您想将“眼珠 X”和“眼珠 Y”设置为默认值以外的值,请创建一个动态以使视线不会变得奇怪。
关于嘴巴开合
基本上,请将“嘴巴 开合”的默认值和表情值设置为“0”。
或者,您可以从一开始就将其从表情设置中排除,并创建表情用motion3.json文件。
如果将表情值设置为“0.2”,使嘴巴半开,则嘴巴在口形同步时不会完全闭合,导致形状不自然。
如果是想要的形状则没有问题,但是如果您想在口形同步时闭上嘴巴,请将表情值设置为“0”。