Avatar自定义模块
更新时间:2024-09-23
用户首次进入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 |
void | 模板捏人 |
| CustomizeAvatarByAvatarBonesData | (List |
void | 按照指定数据结构捏人 |

