相芯SDK中的Animoji特效通过结合人像分割、面部识别和虚拟角色技术,为用户提供了丰富多样的动态特效体验。使用任意手机摄像头,即可实时驱动Xmoji。支持含面部、舌头、眼球在内的56种基础表情,可融合成千上万表情形态,让虚拟卡通形象实时跟随人脸做出活灵活现的表情。
相芯SDK还提供了丰富多样的动漫滤镜,用于将实时摄像头捕捉到的画面转化为具有动漫风格的效果。这些动漫滤镜通过图像处理和艺术风格转换技术,将图像转化为具有艺术感和独特风格的作品可以营造卡通氛围、展现手绘风格,人像美观度以及创造独特纹理效果
1. 功能介绍
1.1Animoji功能介绍
下面详细介绍相芯SDK中Animoji特效的功能和特点:
1.动态虚拟角色:相芯SDK的Animoji特效通过使用3D虚拟角色技术,能够将用户的面部表情和动作实时映射到一个可爱、有趣的虚拟角色上。这些虚拟角色可以是动物、卡通人物或其他创意形象,通过精细的面部跟踪和动作分析,能够栩栩如生地模仿用户的面部表情和动作,创造出令人惊叹的互动效果。
2.丰富的面部表情:相芯SDK的Animoji特效具备丰富多样的面部表情。它能够捕捉用户的眉毛、眼睛、嘴巴等面部特征的动作,并将其实时应用到虚拟角色上,实现高度真实的表情变化。用户可以通过微笑、皱眉、眨眼等面部动作,与虚拟角色进行互动,产生有趣、生动的表情交流。
3.实时互动体验:相芯SDK的Animoji特效提供实时的互动体验。用户可以通过相机或前置摄像头,即时看到自己与虚拟角色的互动效果,无需后期处理或延迟。这种实时互动性为用户创造了更加沉浸式和真实的体验,增强了用户与虚拟角色之间的互动感。
4.背景替换和特效:相芯SDK的Animoji特效还支持背景替换和特效功能。通过人像分割技术,SDK能够准确地将用户的人像与实际背景分离,并提供多种虚拟背景选择。用户可以在不同的场景中与虚拟角色互动,如海底世界、太空、奇幻森林等。此外,Animoji特效还支持添加各种特效,如滤镜、贴纸、动态效果等,让用户的互动更加有趣和个性化。
1.2动漫滤镜功能介绍
下面详细介绍相芯SDK中动漫滤镜的功能和特点:
1.动漫滤镜:相芯SDK的动漫滤镜将图像转化为具有典型动漫风格的效果。它通过强调图像的线条和色彩饱和度,营造出生动活泼、色彩鲜艳的卡通风格。这款滤镜使图像看起来像是从动漫作品中取出的场景,增添了趣味性和独特性。
2.素描滤镜:素描滤镜将图像转化为仿佛是由铅笔或炭笔绘制的素描效果。它通过突出图像的轮廓和灰度值,使图像呈现出明暗对比强烈、线条明确的效果。这款滤镜给人一种艺术感和手绘感,为图像赋予了一种独特的素雅氛围。
3.人像滤镜:人像滤镜专注于优化人脸的表现效果,使人像看起来更加出色和迷人。它通过增强人脸的细节和肤色,修饰面部的瑕疵,提升整体的美观度。这款滤镜能够使人脸轮廓更加清晰,肤色更加饱满,提供出色的人像效果。
4.沙画滤镜:沙画滤镜模拟了沙画艺术的效果,给图像赋予了独特的质感和纹理。它通过使用粗糙的笔触和颜料质感,使图像看起来像是由沙子绘制而成。这款滤镜给人一种粗糙、朴素的艺术感,为图像带来了独特的视觉魅力。
2.使用前必查
在项目中使用Animoji特效贴纸和动漫滤镜特效之前,请确保
l 已在项目中引入Faceunity SDK,详情请参考Faceunity集成文档
l 已申请包含Animoji和动漫滤镜权限的authpack证书文件
l SDK及证书获取方法:发送邮件至 [email protected] 进行咨询。
3.使用步骤
3.1. build.gradle配置
allprojects配置
allprojects {
repositories {
...
maven { url 'https://maven.faceunity.com/repository/maven-public/' }
...
}
}
dependencies导入依赖
dependencies {
...
implementation 'com.faceunity:core:8.6.0'
implementation 'com.faceunity:model:8.6.0'
...
}
3.2加载Animoji道具
Animoji贴纸特效添加管理通过FURenderKit中PortraitSegment进行配置
加载3D抗锯齿道具
Antialiasing antialiasing= new Antialiasing(new FUBundleData(DemoConfig.BUNDLE_ANTI_ALIASING));
加载Animoji道具贴纸bundle
array.add(new AnimojiBean(R.mipmap.icon_animoji_kuloutou, "animoji/kuloutou_Animoji.bundle"));
设置选中贴图
PropContainer propContainer = mFURenderKit.getPropContainer();
Prop prop = new Animoji(new FUBundleData(path));
3.3加载动漫滤镜道具
加载动漫滤镜道具
AnimationFilter animationFilter = new AnimationFilter(new FUBundleData(DemoConfig.BUNDLE_ANIMATION_FILTER));
构造滤镜数据
filters.add(new AnimationFilterBean(R.mipmap.icon_control_delete_all, AnimationFilterTypeEnum.Origin));
3.4加载当前Animoji特效和动漫滤镜
mFUAIKit.loadAIProcessor(DemoConfig.BUNDLE_AI_TONGUE, FUAITypeEnum.FUAITYPE_TONGUETRACKING);//加载舌头道具
mFUAIKit.setMaxFaces(4); //设置人脸
mFURenderKit.setFaceBeauty(FaceBeautyDataFactory.faceBeauty); //设置美颜
mFURenderKit.setAntialiasing(antialiasing); //设置3D抗锯齿道具
mFURenderKit.setAnimationFilter(animationFilter);
animationFilter.setStyle(animationFilterBeans.get(currentFilterIndex).getStyle()); //设置动漫滤镜
onAnimojiSelected(animojiBeans.get(currentAnimojiIndex));//设置Animoji贴纸
4. API参考列表
动漫滤镜业务
Module | 类名 | 说明 |
core | AnimationFilter | 动漫滤镜功能业务模型 |
core | AnimationFilterTypeEnum | 动漫滤镜类别范围枚举 |
AnimationFilterTypeEnum
动漫滤镜可选范围枚举 | Key |Value| 备注 | |------ | ------ | ------ | |Origin| -1 | 移除滤镜,使用原图效果| |Comic | 0| 动漫 | |Sketch | 1| 素描 | |Portrait | 2| 人像 | |Oil | 3| 油画 | |Sand| 4 | 沙画| |Pen | 5| 钢笔画 | |Pencil | 6| 铅笔画 | |Granffiti | 7| 涂鸦 |
5. 总结
相芯SDK的动漫滤镜和Animoji功能为用户提供了一种创新和有趣的方式来表达自己的情感和个性。无论是与朋友互动、娱乐自己,还是在社交媒体上展示自己的创作,这些功能都能给用户带来独特的体验和乐趣。如在接入中遇到问题,可联系相芯科技进行咨询!
标签:特效,Animoji,相芯,动漫,滤镜,SDK From: https://blog.51cto.com/u_16072036/7527978