SDK 内置提供美颜、滤镜、特效几类效果,均支持 Web 端与微信小程序;其中滤镜和特效需要先获取到素材列表再通过素材的 EffectId 在 SDK 中设置。
美颜
除了初始化时可以传入美颜参数,也可以通过 ArSdk 的 setBeautify
方法设置美颜。
SDK 目前支持的美颜效果有:
type BeautifyOptions = {
whiten?: number;
dermabrasion?: number;
lift?: number;
shave?: number;
eye?: number;
chin?: number;
darkCircle?: number;
nasolabialFolds?: number;
cheekbone?: number;
head?: number;
eyeBrightness?: number;
lip?: number;
forehead?: number;
nose?: number;
usm?: number;
}
调用 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 中设置您在 控制台 上制作的特效,也可以使用我们提供的内置效果。相关教程请参见 素材制作基础。
const presetEffectList = await sdk.getEffectList({
Type: 'Preset'
})
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.setBeautify({
whiten: 0,
dermabrasion: 0,
lift: 0,
shave:0,
eye: 0,
chin: 0,
……
})
sdk.setEffect('')
本页内容是否解决了您的问题?