nvidia⼈脸模拟demoandroid,GitHub-wqandroidFUNimDe。。
。
本代码由云信 即时通讯DEMO修改
对接步骤
添加module
添加faceunity module到⼯程中,在app dependencies⾥添加compile project(':faceunity')
修改代码
⽣成与销毁
在AVChatActivity的
onCreate⽅法中添加(初始化并加载美颜道具、默认道具)
mFURenderer = new FURenderer.Builder(this).createEGLContext(true).build();
mFURenderer.loadItems();
onDestroy⽅法中添加(销毁道具)
mFURenderer.destroyItems();
渲染道具到原始数据上
修改AVChatActivity的onVideoFrameFilter⽅法使⽤FURenderer将道具渲染到原始数据上
@Override
public boolean onVideoFrameFilter(AVChatVideoFrame frame, boolean maybeDualInput) {
mFURenderer.drawFrame(frame.data, frame.width, frame.height, ation);
return true;
}
添加界⾯(可选)
修改layout
在avchat_video_layout的末尾修改(在界⾯底部显⽰默认的道具选择控件)
android:id="@+id/faceunity_control"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/avchat_video_bottom_control" />android模拟点击
在onCreate⽅法中添加
mFaceunityControlView = (BeautyControlView) findViewById(R.id.faceunity_control);
mFaceunityControlView.setOnFaceUnityControlListener(mFURenderer);
更新SDK
Nama SDK发布地址,可查看Nama的所有版本和发布说明。
更新⽅法为下载Faceunity*.zip解压后替换faceunity模块中的相应⽂件。
定制需求
定制界⾯
修改faceunity中的界⾯代码
BeautyControlView等或者⾃⼰编写。
定制道具
faceunity中EffectEnum指定的是effects⾥对应的道具的⽂件名,故如需增删道具只需要在effects增删相应的道具⽂件并在EffectEnum 增删相应的项即可。
修改默认美颜参数
修改faceunity中BeautyControlView中以下代码
private float mFaceBeautyALLBlurLevel = 1.0f;//精准磨⽪
private float mFaceBeautyType = 0.0f;//美肤类型
private float mFaceBeautyBlurLevel = 0.7f;//磨⽪
private float mFaceBeautyColorLevel = 0.5f;//美⽩
private float mFaceBeautyRedLevel = 0.5f;//红润
private float mBrightEyesLevel = 1000.7f;//亮眼
private float mBeautyTeethLevel = 1000.7f;//美⽛
private float mFaceBeautyFaceShape = 4.0f;//脸型
private float mFaceBeautyEnlargeEye = 0.4f;//⼤眼
private float mFaceBeautyCheekThin = 0.4f;//瘦脸
private float mFaceBeautyEnlargeEye_old = 0.4f;//⼤眼
private float mFaceBeautyCheekThin_old = 0.4f;//瘦脸
private float mChinLevel = 0.3f;//下巴
private float mForeheadLevel = 0.3f;//额头
private float mThinNoseLevel = 0.5f;//瘦⿐
private float mMouthShape = 0.4f;//嘴形
参数含义与取值范围参考这⾥,如果使⽤界⾯,则需要同时修改界⾯中的初始值。
其他需求
nama库的使⽤参考这⾥。
2D 3D道具制作
除了使⽤制作好的道具外,还可以⾃⾏制作2D和3D道具,参考这⾥。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论