機能説明
カメラのopenGLテクスチャを入力すると、Apple ARKitのルールに従って、52種類の顔の表情のBlendShapeデータがリアルタイムで出力されます。詳細については、ARFaceAnchor。これらの表情データを利用して、Unityに渡してモデルを動かすといった、さらに進んだ開発を行うことができます。 iOS統合ガイド
インターフェースの呼び出し
1. 機能スイッチをオンにします。
[self.beautyKit setFeatureEnableDisable:ANIMOJI_52_EXPRESSION enable:YES];
2. 顔の特徴点位置情報データのコールバックを設定します。
- (void)registerSDKEventListener:(id<YTSDKEventListener> _Nullable)listener;
@implementation listener
- (void)onYTDataEvent:(id)event
{
NSLog(@"YTData %@", event);
}
@end
onYTDataUpdateはJSON string構造を返します。最大で5つの顔の情報を返します。
{
"face_info":[{
"trace_id":5,
"face_256_point":[
180.0,
112.2,
...
],
"face_256_visible":[
0.85,
...
],
"out_of_screen":true,
"left_eye_high_vis_ratio:1.0,
"right_eye_high_vis_ratio":1.0,
"left_eyebrow_high_vis_ratio":1.0,
"right_eyebrow_high_vis_ratio":1.0,
"mouth_high_vis_ratio":1.0,
"expression_weights":[
0.12,
-0.32
...
]
},
...
]
}
フィールドの意味
trace_id:顔ID。連続ストリーム取得の過程で、IDが同一であれば同じ顔であると認識できます。
expression_weights:リアルタイムの表情blendshapeデータです。配列の長さは52で、各数値の値の範囲は0~1.0です。{"eyeBlinkLeft","eyeLookDownLeft","eyeLookInLeft","eyeLookOutLeft","eyeLookUpLeft","eyeSquintLeft","eyeWideLeft","eyeBlinkRight","eyeLookDownRight","eyeLookInRight","eyeLookOutRight","eyeLookUpRight","eyeSquintRight","eyeWideRight","jawForward","jawLeft","jawRight","jawOpen","mouthClose","mouthFunnel","mouthPucker","mouthRight","mouthLeft","mouthSmileLeft","mouthSmileRight","mouthFrownRight","mouthFrownLeft","mouthDimpleLeft","mouthDimpleRight","mouthStretchLeft","mouthStretchRight","mouthRollLower","mouthRollUpper","mouthShrugLower","mouthShrugUpper","mouthPressLeft","mouthPressRight","mouthLowerDownLeft","mouthLowerDownRight","mouthUpperUpLeft","mouthUpperUpRight","browDownLeft","browDownRight","browInnerUp","browOuterUpLeft","browOuterUpRight","cheekPuff","cheekSquintLeft","cheekSquintRight","noseSneerLeft","noseSneerRight","tongueOut"}
その他のフィールドは、顔情報にあります。関連するLicenseを購入した場合に、それらのフィールドを取得できます。表情データのみを取得したい場合は、それらのフィールドを無視してください。
この記事はお役に立ちましたか?