機能説明
カメラのopenGLテクスチャを入力すると、Apple ARKitのルールに従って、52種類の顔の表情のBlendShapeデータがリアルタイムで出力されます。詳細については、ARFaceAnchorをご参照ください。これらの表情データを利用して、Unityに渡してモデルを動かすといった、さらに進んだ開発を行うことができます。 Android統合ガイド
インターフェースの呼び出し
1. 機能スイッチをオンにします。
//XmagicApi.java
//featureName = XmagicConstant.FeatureName.ANIMOJI_52_EXPRESSION
public void setFeatureEnableDisable(String featureName, boolean enable);
2. 顔の特徴点位置情報データのコールバックを設定します。
void setYTDataListener(XmagicApi.XmagicYTDataListener ytDataListener)
public interface XmagicYTDataListener {
void onYTDataUpdate(String data)
}
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で、各数値の値の範囲は-1.0~1.0です。
その他のフィールドは、顔情報にあります。関連するLicenseを購入した場合に、それらのフィールドを取得できます。表情データのみを取得したい場合は、それらのフィールドを無視してください。
この記事はお役に立ちましたか?