Unity中动画系统的性能优化

降低骨骼数,减少面片数。

方法:

1.勾选Optimize Game Objects,以剔除骨骼节点对应的Transform节点

Unity中动画系统的性能优化_第1张图片

2.开启多线程渲染选项

Unity中动画系统的性能优化_第2张图片

主要影响的函数调用开销,可以在profiler中查看:

Animators.Update

MeshSkinning.Update

Camera.Render

注意:

1.其中Animators.Update函数在骨骼节点优化后,场景内放一百个模型播放动画,该函数耗时降低不是很明显,但CPU时间消耗以及FPS提高很明显

2.开启多线程渲染后,会降低主线程的渲染压力,但当角色数目过多的时候,帧率的优化会达到瓶颈,但降低了主线程的性能压力,依然很有用,让主线程有更多的精力处理复杂的游戏逻辑

其他的优化策略:

1.BakeMesh,相当于将将蒙皮转换为普通mesh

2.GUI Skinning 将每一帧骨骼动画的1*4的移动矩阵和3*3的旋转矩阵信息,以(r,g,b,a)的形式存储在纹理网格中,通过GPU采样获取信息在GPU中完成计算,以节省CPU消耗。

你可能感兴趣的:(unity,游戏引擎)