有奖捉虫:行业应用 & 管理与支持文档专题 HOT
SDK 内置提供美颜滤镜特效几类效果,均支持 Web 端与微信小程序;其中滤镜和特效需要先获取到素材列表再通过素材的 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,
…… // 上述所有美颜参数设置为0即可
})
sdk.setEffect('')