Neutral-静态的pose

Generated

一.创建Blendshape 曲线

苹果通过ARKit 面部捕捉技术,提供开发者使用iphoneX以上的机器的前置摄像头,实现面部捕捉。blendshape名称是写死的,总共51个blendshape我们需要去实现,不过我们可以实现一些而不是全部。强烈建议的是,命名和功能需要保持一致。所有的值是在0-1之间.

eyeBlinkLeft
eyeLookDownLeft
eyeLookInLeft
eyeLookOutLeft
eyeLookUpLeft
eyeSquintLeft
eyeWideLeft
eyeBlinkRight
eyeLookDownRight  
eyeLookInRight
eyeLookOutRight
eyeLookUpRight
eyeSquintRight
eyeWideRight
jawForward
jawRight
jawOpen
mouthClose
mouthFunnel
mouthPucker
mouthLeft
mouthRight
mouthSmileLeft
mouthSmileRight
mouthFrownLeft
mouthFrownRight
mouthDimpleLeft
mouthDimpleRight
mouthStretchLeft
mouthStretchRight
mouthRollLower
mouthRollUpper
mouthShrugLower
mouthShrugUpper
mouthPressLeft
mouthPressRight
mouthLowerDownLeft
mouthLowerDownRight
mouthUpperUpLeft
mouthUpperUpRight
browDownLeft
browDownRight
browInnerUp
browOuterUpLeft
cheekSquintRight
noseSneerLeft
noseSneerRight

eyeBlinkLeft ;eyeLookDownLeft ;eyeLookInLeft

Generated
Generated
Generated

eyeLookOutLeft eyeLookUpLeft eyeSquintLeft

Generated
Generated
Generated

eyeWideLeft eyeBlinkRight eyeLookDownRight

Generated
Generated
Generated

eyeLookInRight eyeLookOutRight eyeLookUpRight

Generated
Generated
Generated

eyeSquintRight eyeWideRight jawForward

Generated
Generated
Generated

jawLeft jawRight jawOpen

Generated
Generated
Generated

mouthClose mouthFunnel mouthPucker

Generated
Generated
Generated

mouthLeft mouthRight mouthSmileLeft

Generated
Generated
Generated

mouthSmileRight mouthFrownLeft mouthFrownRight

Generated
Generated
Generated

mouthDimpleLeft mouthDimpleRight mouthStretchLeft

Generated
Generated
Generated

mouthStretchRight mouthRollLower mouthRollUpper

Generated
Generated
Generated

mouthShrugLower mouthShrugUpper mouthPressLeft

Generated
Generated
Generated

mouthPressRight mouthLowerDownLeft mouthLowerDownRight

Generated
Generated
Generated

mouthUpperUpLeft mouthUpperUpRight browDownLeft

Generated
Generated
Generated

browDownRight browInnerUp browOuterUpLeft

Generated
Generated
Generated

browOuterUpRight cheekPuff cheekSquintLeft

Generated
Generated
Generated

cheekSquintRight noseSneerLeft noseSneerRight

Generated
Generated
Generated

二.处理头部旋转

通过HeadYaw, HeadPitch, HeadRoll控制,ARKit并没有提供,通过Modify Bone节点应用到joints.

三.创建必要的动画

第一帧是rest pose,没有任何变化的关键帧

对于第二帧以后,每一个帧应该是一个不同的关键帧的skeletal pose来完成苹果ARKit列表中的位姿。比如,第2帧是eyeBlinkLeft,第3帧是eyeLookDownLeft.

不必创建所有的,只需要创建需要joints驱动的。比如jawOpen通过关节旋转实现。不过,也有一个blend shape可以驱动面部来得到更自然的外观。

可以参考KiteBoyHead_JoinsAnim.

四.使用Joints纠正Blend Shapes

大多数角色并不仅仅通过blend shapes驱动.通常,会有一些面部骨骼来帮助控制面部部分的移动。尽管Live Link实现能够驱动blend shapes,但是也可以在Pose Asset的帮助下驱动面部joints.

在使用ARKit驱动面部动画时,骨骼设置并不是必须的。这里主要是说明如果已经有了joints或者你知道如何使用骨骼动画。

在某一些情况下,比如使用joints驱动一个面部,你会发现你可能还需要一个blend shape来同时触发为了使运动看起来更加合理。此时的Blend shapes常常被称为 corrective blend shapes.修正Blend shapes.

比如,角色的jaw通过joint关节旋转打开时,可以使用一个corrective blend shape来改善。

关节旋转与corrective blend shapes,要一直一起运作,二者不能单独使用。

五.More Corrective Blend Shapes

在Face AR的蓝图中,在动画蓝图的一个section中仅仅添加了corrective blend shapes.这主要是特殊的correctives,比如眼睛看向对角方向,比如都在左下角。这些位姿是使用传统的blend shapes处理的,因为ARKit并没有进行提供。