提交工单
咨询集成、功能及报价等问题
ZEGO Avatar SDK 提供了捏脸和捏身体功能,用户可以根据自己的审美偏好,调整虚拟人物的脸部部位的维度(如眼睛大小、鼻子宽窄、嘴巴大小等)和身体部位的维度(如头身比、全身胖瘦、头部大小等),自定义虚拟人物的外观,自由打造独一无二的专属形象。本功能可广泛用于社交互动、游戏、直播语聊等场景。
一个部位可能有多个维度,如鼻子的可调整维度有宽窄、高矮等维度。
在实现“捏脸塑形”功能之前,请确保:
创建出虚拟形象后,您通过调用 setDeformation 接口,传入形变维度的 key 和形变量即可,形变量取值范围为 [-1,1]。不同人模支持的 key 可能也不一样,请联系 ZEGO 技术支持获取完整信息。
各维度的初始形变量为 0。
// 设置一个维度的形变量
mCharacter.setDeformation("head_size",0.5);
通过调用 getDeformation 接口,可以拿到指定维度的当前形变量,一般可用于数据存储、数据上报或在 UI 上展示相关数据。
// 获取一个维度的当前形变量
float deformation = mCharacter.getDeformation("head_size");
通过调用 getDeformation 接口,可以获取当前形象的所有形变量(仅包含已形变维度),返回结果格式为 json,一般可用于数据存储、数据上报或在 UI 上展示相关数据。
// 获取所有已形变维度的当前形变量
String deformation = mCharacter.getDeformation();
调用 setDeformation 接口,传入该数据,同时设置调整多个维度。此接口一般可用于同步多端数据,或还原角色形态等。
head_size
的原形变量为 0.5,调用此接口设置多维度的形变量时,希望调整 brow_size
为 0.5,且没有设置 head_size
的值。调用此接口后,虚拟形象的 head_size
会变为 0,brow_size
为 0.5。bodyshape_waist_Ysize
的原形变量为 0.5,调用此接口设置多维度的形变量时,希望调整 bodyshape_leg_Ysize
为 0.5,且没有设置 bodyshape_leg_Ysize
的值。调用此接口后,虚拟形象的 bodyshape_waist_Ysize
会变为 0,bodyshape_leg_Ysize
为 0.5。// 同时设置多维度的形变量
// data 可为通过 [getDeformation] 接口获取的 json 格式全量形变数据
mCharacter.setDeformation(data);
联系我们
文档反馈