“捏脸”与“换装”在游戏里通常是用于达成自定义角色外观这一功能的。今天先来讲讲“捏脸”,而“换装”则会在接下来的一篇博文中进行介绍。从程序员的角度来看,所谓的“捏脸”,就是获取到面部相关部位的组件,接着对其权重进行修改。那么,什么是……
它是一种技术,通过单个网格变形来实现许多预定义形状与任意数量之间的组合。在 Maya/3ds Max 中,我们将其称为变形目标。比如单个网格是默认形状的基本形状,像无表情的面;而基本形状的其他形状用于混合与变形,比如不同的表达,像笑、皱眉、闭合眼皮等,这些都被统称为混合形状或变形目标。
听上去原理和的动画混合有些相似。
//获取SkinnedMeshRenderer组件
一个名为 _SapphiArtChanRenderer_Face 的私有 SkinnedMeshRenderer 。
SapphiArtChanRenderer_Face 是 t.gameObject 的组件。();
//通过UI上的Slider改变相关权重的值
把面部左眼闭合的数值设定为新的面部值 newFacialValue 。
{

SapphiArtChan 的面部眼睛 L 闭合状态等于新的面部值乘以 100。
}
设置面部眼睛右部闭合的值为新的面部值 newFacialValue 。将面部眼睛右部闭合的值设置为新的指定值。把新的面部值 newFacialValue 设定为面部眼睛右部的闭合值。让面部眼睛右部的闭合值变为新的面部值 newFacialValue 。将新的面部值 newFacialValue 赋予面部眼睛右部的闭合状态。使面部眼睛右部的闭合状态以新的面部值 newFacialValue 来呈现。
{
SapphiArtChan 的面部眼部 R 闭合状态等于新的面部值乘以 100 。
}
//设置BlendShapeWeight权重
SapphiArtChanRenderer_Face 设定混合形状权重,权重的索引为 0,设定的值为 _SapphiArtChanFacial_Eye_L_Happy;

SapphiArtChanRenderer_Face 设置混合形状权重,其中第一个参数为 1,第二个参数为 SapphiArtChanFacial_Eye_R_Happy;
SapphiArtChanRenderer_Face 设置混合形状权重,其中一个参数为 4,另一个参数为 _SapphiArtChanFacial_Eye_L_Closed
SapphiArtChanRenderer_Face 设置混合形状权重,权重的序号为 5,设置的值为 _SapphiArtChanFacial_Eye_R_Closed 所表示的内容。
_SapphiArtChanRenderer_Face 设定混合形状权重,权重的编号为 2,其值为 _SapphiArtChanFacial_Eye_L_Wide ;
SapphiArtChanRenderer_Face 设置混合形状权重,其中一个参数为 3,另一个参数为_SapphiArtChanFacial_Eye_R_Wide;
通过上述三个步骤进行操作,能够达到捏脸的效果。如果下次启动游戏时你还希望看到该效果,记得把当前修改后的值保存下来,以便下次启动后进行初始化使用。下面是效果图,效果还不错。
工作时间:8:00-18:00
电子邮件
扫码二维码
获取最新动态