GPUSkinning文件生成
更新时间:2024-10-09
当场景中角色过多,骨骼动画会大量消耗CPU,此时使用GPUSkinning技术进行优化。
1. 整体介绍
1.1 生成步骤
1.1.1 将同骨骼的角色拖到场景层级中

1.1.2 在角色根节点赋予GPU需要使用到的动画机

1.1.3 在角色根节点创建脚本:GPU Animation Sampler

注意:每次输出后需保存所有散件在列表中(确保完整)
详细操作:
(1)放置角色的根骨骼
(2)添加新增的散件(例如新增的发型、上衣、裙子等)
(3)添加动画槽位
(4)Fps修改为30、将对应动画放入槽位、根据动画是否循环勾选Loop选框
(5)点击Sampler输出
1.1.4 创建或选中对应路径输出GPU资源,以下为所生成资源,材质需要另外手动创建

GPU材质shader为:Standard Surface(单图)、Standard Surface Normal(双图)。

根据材质需求切换Suface Type(用于切换标准贴图/透明贴图)

GPUskinning资源配置
创建好GPU材质
将GPU资源配置到生成的预制体中
在生成的预制体中的模型上添加脚本ECS_GPU Skin Mesh脚本:
(1)根据选中的预制体级别,将以下级别的数量填与框内(例如lod1之下还有lod2、lod3,那就填2,若有lod2、lod3、lod4,那就填3),使模型置放的元素槽位展开来
(2)根据高到低的精度顺序,添加模型到槽位内
1.2 GPUskinning资源验证方式(需验证无误,才能入版)
(1)场景内创建一个空节点
(2)在空节点上创建三组验证用脚本:ECS_GPU Animator、ECS_GPU Avatar、Test Avatar

1.3 检查资源完整性(入版新模型时,先生成Gpuskinning,再进行拆分,则此步骤为自动完成,只需检查确认即可)
1.3.1 找到需要调整的Prefab 目录

1.3.2 确认对应GpuSkinning生成的目录

1.3.3 检查Low目录下的Prefab(此处为自动生成,按流程规范生成,则无需检查)

2. 主要功能对应数资及脚本
| 脚本或dll | 端 | Prefab | 说明 | 功能示意图 |
|---|---|---|---|---|
| GPUAnimationSampler.cs | PC,Mobile ,VR | GPU文件生成工具 | ||
| ECS_GPUAnimator.cs | PC,Mobile ,VR | GPU动画播放器 | ||
| ECS_GPUAvatar.cs | PC,Mobile ,VR | GPUAvatar逻辑 |