FBEngineConfig
appId + appKey、または licenseToken を渡します。licenseToken が空でない場合はトークン経路になり、appId / appKey でネットワークを呼びません。
FBEngine
FBEngine.create でインスタンスを作成します。プロセス単位のシングルトンではありません。externalContext: true のエンジンは同時に 1 台だけ processTexture にバインドできます。
美顔 / リシェイプ / メイク / クロマキー / ぼかし / clear* / setFilterIntensity は同期です。フィルター、ステッカー、背景画像、静止画 API は Future を返します。
肌
setSmoothing、setSmoothingStyle(FBSmoothingStyle)、setWhitening、setWhiteningStyle(FBWhiteningStyle)、setSharpening、setRosiness、setBeautySkinOnly(bool) — 強度 [0, 1]。
リシェイプ
setReshape(FBReshape param, double intensity) — [-1.0, 1.0]。Dart 名: FBReshape.faceThin、faceVShape、… browThickness。表は パラメータ列挙。
ボディリシェイプ
setBodyReshape(FBBodyReshape param, double intensity) — [0.0, 1.0]。Dart 名: FBBodyReshape.bodySlim … torsoLong。先に addResourcePack で resource_body.fbd。パラメータ列挙、オプションリソースパック。
メイク
フィルター / ステッカー / バーチャル背景 / クロマキー
path と data は排他で、どちらか一方だけ必須です。3D ステッカーとボディリシェイプ: オプションリソースパック。
静止画
externalContext: false が必要です。それ以外は StateError を投げます。リアルタイム前処理動画には使わないでください。
可観測性
FBStats: fps、avgProcessTimeMs、sessionTimeSeconds。
FBEngineEvent: code、message、eventCode → FBEngineEventCode:
エラーコード
ネイティブが< 0 を返すと FBException を投げます。
その他の型
FBBitmap—width、height、stride、pixels(RGBA8888 コピー)FBLogLevel—trace…critical
ネイティブテクスチャ(Dart を経由しない)
externalContext: true で create したあと、相手 SDK の GL スレッド上で呼びます。ライブエンジンは同時に 1 台だけバインドできます。先のエンジンを dispose() する前に 2 台目を create(externalContext: true) すると例外になります。静止画エンジン(externalContext: false)はこのスロットを使いません。
- iOS:
[FacebetterPlugin processTexture:width:height:] - Android:
FacebetterPlugin.processTexture(textureId, width, height)
0 を返します。完全な断片は サードパーティ連携 を参照してください。
