本文档适用于 1.5.0 及以后版本的 SDK。
ZEGO Avatar SDK 提供了多种妆容配饰(如美瞳、口红、眼镜、胡子、服装等)等美术素材,支持在虚拟形象上实时渲染、自然替换,还支持更换皮肤、头发和嘴唇等部位的颜色,打造符合自己品味的专属形象。
在实现“妆容换装”功能之前,请确保:
您也可以创建自己的虚拟人物形象(详情请参考 AI 捏脸),体验换装等功能,实现自己的个性化形象定制。
搭建出基本的虚拟人物形象后,开发者请参考以下步骤,更换虚拟形象的妆容、衣服或颜色。
目前,支持调整的维度有:脸型、肤色、口红、唇形、睫毛、眉毛、眼型、美瞳、鼻型、头发、发色、涂鸦、胡子 、上衣、裤子、鞋子、背饰、手枪、帽子、眼镜、耳机、耳饰、头饰等。具体支持的维度和资源类型,请联系 ZEGO 商务人员。
确保存在妆容或衣服资源的 Package 资源包。
调用 setPackage 接口,传入资源路径,调整虚拟形象的妆容或衣服。
不同的 Package 可能互斥,穿戴新 Package 有可能会移除原本虚拟形象身上的部分 Package。
// 设置妆容、衣服等数据
// mCharacter 为 ZegoCharacter 实例对象
mCharacter.setPackage("packagePath", error -> {
// 错误码回调,处理建议请参考 [常见错误码](https://doc-zh.zego.im/article/14884)
});
调用 removePackage 接口,传入角色装扮类型( ZegoAvatarMakeupType )来移除对应部位装扮。
// 设置需要被移除角色装扮类型为帽子
ZegoAvatarMakeupType makeupType = ZegoAvatarMakeupType.Cap;
// mCharacter 为 ZegoCharacter 实例对象
mCharacter.removePackage(makeupType);
您可以自定义虚拟形象的皮肤颜色、头发颜色以及嘴唇颜色。
以下接口的参数应为 10 进制或 16 进制的颜色信息,如:
0,0,0,0
(黑色)、255,255,255,255
(白色)。000000
(黑色)、FFFFFF
(白色)。调用 setSkinColor 接口,传入肤色信息,即可调整虚拟人物的皮肤颜色。
// 设置肤色
// mCharacter 为 ZegoCharacter 实例对象
mCharacter.setSkinColor("colorInfo");
调用 setHairColor 接口,传入开始颜色和结束颜色,即可调整虚拟人物的头发颜色。开始颜色和结束颜色可以不一样,从而打造渐变效果。
// 设置发色,头发支持渐变色
// mCharacter 为 ZegoCharacter 实例对象
mCharacter.setHairColor("startColorInfo", "endColorInfo");
调用 setLipColor 接口,传入唇色信息,即可调整虚拟人物的嘴唇颜色。
// 设置唇色
// mCharacter 为 ZegoCharacter 实例对象
mCharacter.setLipColor("colorInfo");
调用 getMakeupConfig ,获取虚拟形象的完整装扮信息(包括没有被装扮的部位信息),格式为 JSON。
// mCharacter 为 ZegoCharacter 实例对象
mCharacter.getMakeupConfig(makeupConfigString -> {
// makeupConfigString 为所有装扮信息
});
调用 setMakeupConfig ,同时更换多部位的 property(如颜色),参数格式为 JSON,请参考 getMakeupConfig 接口的返回数据。
// 更换多部位的 property
// mCharacter 为 ZegoCharacter 实例对象
// 注意:如果传入的数据为 getMakeupConfig 接口的返回数据,该数据会同时包含 property 信息(如颜色)和 package 信息(如妆容和衣服),但是调用本接口后,只能修改虚拟形象的 property,package 数据不生效。
mCharacter.setMakeupConfig(makeupConfig);
联系我们
文档反馈