エフェクト設定

SDKには美顔フィルターエフェクトなどの効果が内蔵されており、フィルターとエフェクトは素材リストを取得してから素材のEffectIdをSDKで設定する必要があります。

美顔

初期化時に美顔パラメータを渡すほか、ArSdkのsetBeautifyメソッドで美顔を設定することもできます。
SDKが現在対応している美顔効果は以下の通りです:
type BeautifyOptions = {
whiten?: number; // 美白 0~1
dermabrasion?: number; // 美肌 0~1
lift?: number; // 細顔 0~1
shave?: number; // 小顔 0~1
eye?: number; // デカ目 0~1
chin?: number; // 顎 0~1
// 注意:以下のパラメータは1.0.11以上のバージョンでのみ使用可能です
darkCircle?: number; // クマ 0~1
nasolabialFolds?: number; // ほうれい線 0~1
cheekbone?: number; // 頬骨 0~1
head?: number; // 小頭 0~1
eyeBrightness?: number; // キラ目 0~1
lip?: number; // 唇 -1~1
forehead?: number; // 生え際 0~1
nose?: number; // 鼻 -1~1
usm?: 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)

エフェクト

コントロールパネルで作成したエフェクトをSDKで直接設定できるほか、内蔵エフェクトを使用することもできます。関連チュートリアルは素材制作の基礎をご参照ください。
// 内蔵エフェクトを取得
// デフォルトでは内蔵の化粧とステッカー素材が返されます。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('')