# GPU烘焙动画
在处理一些简单且大量的动画时(如小怪、场景物件),为了最大程度的节省CPU资源,小游戏框架的动画系统提供了GPU烘焙动画的支持。
# 使用已有动画预制体进行烘焙
在Project面板中选中角色动画的Prefab(来自于fbx提取或从第三方引擎导入),右键->烘焙预制动画体到GPU
填上烘焙资源存放的路径,案例里在同级目录下创建Baked
子目录。点击确定,即可在Baked目录中看到生成的prefab,以及每个动画片段生成一个dataimage,存放对应的烘焙动画数据
# 添加烘焙好的动画到场景中
将生成的prefab加入到场景中,可以看到含有一个SkinnedAnimationRenderer
组件,初始默认的动作为TPose。
将初始动作改为目标动作,预览即可看到效果。
# GPU烘焙动画的限制
GPU烘焙虽能有效的降低动画的CPU负载,以腾出更多的时间片给到业务逻辑,但使用上有一些限制。所以建议结合具体业务场景选择性使用。
以下是使用GPU烘焙动画的注意事项:
- 动画混合功能无法使用
- GPU顶点着色器的负载会增加,具体体现在采样负载加重
- 动画片段无法复用,即使两个模型用了同一个动画片段,也会生成两份烘焙数据。所以某些情况可能会造成资源量变大