虚拟人妆容换装功能简介

ZEGO Avatar SDK 虚拟人SDK提供了多种妆容配饰(如美瞳、口红、眼镜、胡子等)等美术素材,支持在虚拟形象上实时渲染、自然替换,打造符合自己品味的专属虚拟形象。

虚拟人妆容换装功能-实现前提条件

在实现虚拟人“妆容换装”功能之前,请确保:

  • 已在项目中集成了 虚拟形象SDK Avatar SDK,详情请参考 集成 SDK
  • 已参考 创建虚拟形象,完成基本的虚拟人物形象搭建。

您也可以创建自己的专属虚拟形象人物形象(详情请参考 AI 捏脸),体验换装等功能,实现自己的个性化专属虚拟形象定制。

虚拟人变妆换装实现流程

开发者请参考以下步骤,实现虚拟人 “换妆容、换服装” 功能。

开发者如果使用了 ZegoCharacterHelper,则无需再调用 ZegoCharacter 的任何相关接口。虽然 ZegoCharacter 也有同名的 setPackage 接口,但请不要直接调用。如果跳过 ZegoCharacterHelper 直接调用 ZegoCharacter 的接口,ZegoCharacterHelper 层的缓存将不再可信。

搭建出基本的虚拟人物形象后:

  1. 如果开发者把 Packages 资源包做成动态下载,则需要在使用 Packages 前,调用 ZegoCharacterHelper 的 setExtendPackagesPath 接口,设置 Packages 的下载目录到参数 downloadPath,以便资源索引。

    downloadPath 需指到 Packages 文件夹,例如:/data/data/im.zego.zegoavatarexample/files/assets/Packages

  2. 调用 setPackage 接口,传入 packageID(需要设置的资源,具体请参考下图或咨询 ZGEO 商务人员),调整虚拟人物相关位置的外观。

//确保换装调用前已经设置的外部 Packages 的目录
mCharacterHelper.setExtendPackagePath(getFilesDir().getAbsolutePath() + "/assets/Packages"); // 设置妆容、头发、眼镜等资源包所在目录 // 设置眼镜,需要确保资源已经在 setExtendPackagePath 指定的路径中
String packageID = "earphone7"; // earphone7 是一款耳机资源的目录名称,使用 Zego 提供的 Pacakges 下的目录名称即可。
mCharacterHelper.setPackage(packageID);

目前,即构虚拟人SDK ZEGO Avatar SDK支持的变妆换装的调整维度有:眉毛、刺青、嘴唇、胡子、美瞳、眼镜、耳机、耳饰、头发等。

具体的支持美颜换装维度和妆容资源类型,请咨询 ZEGO 商务人员

5 即构虚拟人ZEGO Avatar SDK更多帮助

获取本文ZEGO Avatar SDK的虚拟人的变妆换装开发文档、技术支持,访问即构文档中心,可以轻松构建变妆换装的小工具。

近期有开发规划的开发者可上即构官网查看,恰逢即构七周年全线音视频产品1折的优惠,联系商务获取"ZEGO Avatar虚拟人一个月免费试用 "的产品优惠;

1款可以美颜变妆换装的虚拟人SDK|Android的更多相关文章

  1. 【AS3 Coder】任务六:人物换装(纸娃娃)系统的制作

    使用框架:AS3(Flash Professional CS5.0及更高版本 + Flash Buider)任务描述:了解人物换装系统的制作原理难度系数:2 本章源码下载:http://www.iam ...

  2. Unity3D教程:换装方法

    http://www.manew.com/4136.html 游戏内的角色,能够像纸娃娃换装那样子让玩家可以为自己的角色改变外观,一直是相当受欢迎的功能:一般而言,我们建好的 3D 模型,如果要将其中 ...

  3. Unity3d 换装Avatar系统

    原理就是用新造的部件和角色的骨骼进行重新对接. demo的使用方法: PartIdx设置要换那个部件[0,4],一共5个部件 EquipIdx设置要更换部件的装备索引[0,1],具体看我的Change ...

  4. Unity 之 人物换装

    http://www.cnblogs.com/mcwind/archive/2011/02/18/1957453.html  原理 一. SkinedMeshRender:该对象负责网格绘制.主要数据 ...

  5. cocos2d下,优秀骨骼spine的换装思路

    语文老师说,文章要有个好开头!!! 最近正在引入spine骨骼代替dragon bone骨骼,既然要替代,那么原先在dragon bone上的一些额外需求,不管dragon bone上能不能实现,都应 ...

  6. WPF案例 (三) 模拟QQ“快速换装"界面

    原文:WPF案例 (三) 模拟QQ"快速换装"界面 这个小程序使用Wpf模拟QQ快速换装页面的动画特效,通过使用组合快捷键Ctrl+Left或Ctrl+Right,可实现Image ...

  7. 浅谈角色换装功能--Unity简单例子实现

    在前置篇中,基本上梳理了一下换装功能背后涉及到的美术工作流.但程序员嘛,功能终归是要落到代码上的.本文中会结合Unity提供的API及之前提到的内容来实现一个简单的换装功能.效果如下: (图1:最终效 ...

  8. DragonBones龙骨换装(局部换装+全局换装)

    参考: Egret官方换装动画 Egret换装三种方式 CSDN(全局换装) egret使用DragonBones实现简单的换装 换装,主要是替换任意插槽的图片,来达到局部换装的目的. 游戏中可以只制 ...

  9. Unity3d 换装 之 模型动画分离

    在手游中换装成了越来越不可缺的一个功能,毫无疑问各式各样的时装为游戏增添了不同的色彩. 对于2D手游,或许是更换对应的序列帧,也或许是如同3D手游一般,更换模型动画. 对于游戏中的人物,一般分为头.上 ...

  10. Unity动态换装之Spine换装

    注:转载请注明转载,并附原链接 http://www.cnblogs.com/liaoguipeng/p/5867510.html 燕双飞情侣 一.动态换装原理 换装,无非就是对模型的网格,或者贴图进 ...

随机推荐

  1. echart的使用心得

    前言:由于本人在最近的公司中接触了一些与数据可视化有关的项目,所以特意花了一些时间去学习了echarts,以下是我个人在使用与学习echarts的一些心得体会. 1.首先我们需要知道的是什么是Echa ...

  2. 干货分享:Dify中4种核心变量详解!

    在 Dify 工作流(Workflow 和 Chatflow)的实现中,"变量"做为最基础.最核心的组件发挥着不可或缺的作用,因为它承载了不同节点间数据传递的作用. 也就是说,我们 ...

  3. 如何在Mac系统上把U盘分成2个区?

    插入U盘后,使用命令行执行如下命令: diskutil partitionDisk /dev/disk8 GPT MS-DOS TESLAMUSIC 7% ExFAT TESLADRIVE 93% 第 ...

  4. 一文搞懂K8s中的RBAC认证授权

    概述 官方文档: https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/authorization/ https://kubern ...

  5. 如何彻底的卸载mysql

    在Windows系统下面改如何彻底的卸载我们的mysql服务呢. 1.首先我们先停止mysql服务:net stop mysql 然后在控制面板里面找到我们的mysql,然后给他卸载掉.然后在之前安装 ...

  6. AI 赋能编程,Coding新范式

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:佳岚 前言 AI 的大趋势: 24.25 年是 AI 应用 ...

  7. kubernetes如何将pod运行在master节点

    一.简单说明 这里我们部署的Kubernetes集群,master节点默认是unscheduled的状态,也就是默认拒绝将Pod调度到master节点运行.专业术语就是:Master节点被赋予了一个或 ...

  8. ArkUI-X跨平台技术落地-华为运动健康(二)

    原生和ArkUI界面参数传递 在原生页面拉起对应的跨平台的页面时,会将代表拉起哪个页面的参数通过intent的形式传递给跨平台的Entry模块,这里主要用到的是intent的putExtra()方法进 ...

  9. FastAPI权限缓存:你的性能瓶颈是否藏在这只“看不见的手”里?

    title: FastAPI权限缓存:你的性能瓶颈是否藏在这只"看不见的手"里? date: 2025/06/23 05:27:13 updated: 2025/06/23 05: ...

  10. Java 常用线程池

    快捷创建线程池方式 Java通过Executors提供四种线程池,分别为: 1.newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需求,可以灵活回收空闲线程,若无可回收 ...