エフェクト設定
SDKには美顔、フィルター、エフェクトなどの効果が内蔵されており、フィルターとエフェクトは素材リストを取得してから素材のEffectIdをSDKで設定する必要があります。
美顔
初期化時に美顔パラメータを渡すほか、ArSdkの
setBeautify
メソッドで美顔を設定することもできます。SDKが現在対応している美顔効果は以下の通りです:
type BeautifyOptions = {whiten?: number; // 美白 0~1dermabrasion?: number; // 美肌 0~1lift?: number; // 細顔 0~1shave?: number; // 小顔 0~1eye?: number; // デカ目 0~1chin?: number; // 顎 0~1// 注意:以下のパラメータは1.0.11以上のバージョンでのみ使用可能ですdarkCircle?: number; // クマ 0~1nasolabialFolds?: number; // ほうれい線 0~1cheekbone?: number; // 頬骨 0~1head?: number; // 小頭 0~1eyeBrightness?: number; // キラ目 0~1lip?: number; // 唇 -1~1forehead?: number; // 生え際 0~1nose?: number; // 鼻 -1~1usm?: number; // シャープネス 0~1}
SDKインスタンスの
setBeautify
メソッドで美顔パラメータを設定します:sdk.setBeautify({whiten: 0.2,dermabrasion: 0,lift: 0.3,shave:0.1,eye: 0.9,chin: 0,……})
フィルター
フィルター画像の制作コストが高いため、直接使用できるいくつかの内蔵フィルターを提供しています。
1. 内蔵フィルターリストを取得:
const filterList = await sdk.getCommonFilter()
2. フィルターの設定:
sdk.setFilter(filterList[0].EffectId, 0.5)
エフェクト
// 内蔵エフェクトを取得// デフォルトでは内蔵の化粧とステッカー素材が返されます。Labelパラメータで特定タイプの素材を指定して返すことができますconst presetEffectList = await sdk.getEffectList({Type: 'Preset'// Label: ['ステッカー'] 内蔵ステッカーのみを返す})// 自作エフェクトを取得const customEffectList = await sdk.getEffectList({Type: 'Custom'})// リストリクエストパラメータを渡すconst lipList = await sdk.getEffectList({PageNumber: 0,PageSize: 10,Name: '',Label: ['リップメイク'], // エフェクトのタグでフィルタリングType: 'Custom'})const eyeList = await sdk.getEffectList({PageNumber: 0,PageSize: 10,Name: '',Label: ['アイメイク'], // エフェクトのタグでフィルタリングType: 'Custom'})// エフェクトを設定sdk.setEffect([lipList[0].EffectId, eyeList[0].EffectId])// エフェクト+強さを設定sdk.setEffect([{id: lipList[0].EffectId,intensity: 0.5},{id: eyeList[0].EffectId,intensity: 0.7})// エフェクト内のフィルター強さを個別設定sdk.setEffect([{id: lipList[0].EffectId,intensity: 0.5,filterIntensity: 0},{id: eyeList[0].EffectId,intensity: 0.7,filterIntensity: 1})
注意:
エフェクト作成ツールはエフェクトにフィルターを追加できるため、複数のエフェクトが重なる場合、フィルターはデフォルトで重ね合わせ処理します。個別に制御する必要がある場合は、filterIntensityを使用してください。
美顔をオフにする
AI検出機能は消費が大きいため、できるだけリソースを節約するために、SDKで美顔やエフェクトが設定されていない場合、AI検出は自動的に無効になり、効果を改めて設定すると自動的に有効になります。
// SDKで設定したすべての効果をクリアすると検出機能をオフにすることができますsdk.setBeautify({whiten: 0,dermabrasion: 0,lift: 0,shave:0,eye: 0,chin: 0,……})sdk.setEffect('')