Avatar自定义模块

用户首次进入App需要进行角色创建,可以选择性别,并对脸部和身体进行重新塑造。

1. 整体介绍

1.1 角色随机生成

选择性别后,用户可以随机生成角色,使用系统内置的参数,进行随机生成。

1.2 模板生成

选择性别后,除了随机创建,可以切换到模板生成页面,可以选择头部模板或者身体模板,直接复用内置模板形象

1.3 PTA 拍照生成

在模板创建面板,选择头部模板,用户还可以选择拍照生成功能,使用照片直接生成Avatar形象。

1.4 细节自定义

用户可以在选择好角色,或者模板创建好初版角色后,进一步进行自定义,包括五官、体型、毛发等一系列的细节调整。

2. 主要功能对应数资及脚本

脚本 Prefab 说明 功能示意图
CustomizationAvatarPanel.cs PC,Mobile ,VR CustomizationSelectAvatarPanel.prefab 角色自定义(捏脸,捏身体)
TemplateScrollView.cs、TemplateItem.cs PC,Mobile CustomizationSelectAvatarPanel.prefab 模板创角

3. 客户端接口

代码:CustomizeAvatarService.cs

接口 参数 返回 说明
SetBonePosition (Transform boneLeft, Transform boneright, float value, int vectorIndex, SYMMETRY_TYPE type) void 骨骼节点位移调整
SetBoneScale (Transform boneLeft, Transform boneright, float value, int vectorIndex, SYMMETRY_TYPE type) void 骨骼节点缩放调整
SetBoneRotation (Transform boneLeft, Transform boneright, float value, int vectorIndex, SYMMETRY_TYPE type) void 骨骼节点旋转调整
CustomizeAvatarByTemplate (ControlItem.ControlType controlType, AvatarBonesData bonesData, List boneItemList, HashSet FaceNodeSet, Action callback, float nfactor = 10000f) void 模板捏人
CustomizeAvatarByAvatarBonesData (List boneItemList, AvatarBonesData bonesData, Action callback, float nfactor = 10000f) void 按照指定数据结构捏人
角色创建模块Avatar内置形象