Unity优化大全(二)之CPU-Physics
2017-05-23 13:37
239 查看
前言:
因为在整体学习的一些资料没来得及及时更新,现在来讲讲Physics的优化。
进入主题:
Physics优化有很多方面,这里先说说一些常在项目中出现的优化知识。
1.将物理模拟时间步设置到最小化状态。在我们的项目中不可以将让它低于16毫秒。
Fixed Timestep是和物理计算有关的。所以,若计算的频率太高,自然会影响到CPU的开销。同时,若计算频率达不到游戏设计时的要求,有会影响到功能的实现,所以如何抉择需要各位具体分析,选择一个合适的值。
2.减少角色控制器移动命令的调用。移动角色控制器会同步发生,每次调用都会耗损极大的性能。我们的做法是缓存每帧的移动请求,并且仅运用一次。
3.修改代码以免依赖“ControllerColliderHit” 回调函数。这证明这些回调函数处理得并不十分迅速。
4.面对性能更弱的设备,要用skinned mesh代替physics cloth。cloth参数在运行表现中发挥重要作用,如果你肯花些时间找到美学与运行表现之间的平衡点,就可以获得理想的结果。
5.在物理模拟过程中不要使用Ragdolls,只有在必要时才让它生效。
6.要谨慎评估触发器的“OnInside”回调函数,在我们的项目中,我们尽量在不依赖它们的情况下模拟逻辑。
7.使用层次而不是标签。我们可以轻松为对象分配层次和标签,并查询特定对象,但是涉及碰撞逻辑时,层次至少在运行表现上会更有明显优势。更快的物理计算和更少的无用分配内存是使用层次的基本原因。
8.不要使用网格碰撞器(Mesh Collider,因为它太耗性能了!
9.最小化碰撞检测请求(例如Ray Casts和Sphere Checks),尽量从每次检查中获得更多信息。
10.真实的物理(刚体)很消耗,不要轻易使用,尽量使用自己的代码模仿假的物理。
11.对于投射物不要使用真实物理的碰撞和刚体,用自己的代码处理。
。。。。。。。
因为在整体学习的一些资料没来得及及时更新,现在来讲讲Physics的优化。
进入主题:
Physics优化有很多方面,这里先说说一些常在项目中出现的优化知识。
1.将物理模拟时间步设置到最小化状态。在我们的项目中不可以将让它低于16毫秒。
Fixed Timestep是和物理计算有关的。所以,若计算的频率太高,自然会影响到CPU的开销。同时,若计算频率达不到游戏设计时的要求,有会影响到功能的实现,所以如何抉择需要各位具体分析,选择一个合适的值。
2.减少角色控制器移动命令的调用。移动角色控制器会同步发生,每次调用都会耗损极大的性能。我们的做法是缓存每帧的移动请求,并且仅运用一次。
3.修改代码以免依赖“ControllerColliderHit” 回调函数。这证明这些回调函数处理得并不十分迅速。
4.面对性能更弱的设备,要用skinned mesh代替physics cloth。cloth参数在运行表现中发挥重要作用,如果你肯花些时间找到美学与运行表现之间的平衡点,就可以获得理想的结果。
5.在物理模拟过程中不要使用Ragdolls,只有在必要时才让它生效。
6.要谨慎评估触发器的“OnInside”回调函数,在我们的项目中,我们尽量在不依赖它们的情况下模拟逻辑。
7.使用层次而不是标签。我们可以轻松为对象分配层次和标签,并查询特定对象,但是涉及碰撞逻辑时,层次至少在运行表现上会更有明显优势。更快的物理计算和更少的无用分配内存是使用层次的基本原因。
8.不要使用网格碰撞器(Mesh Collider,因为它太耗性能了!
9.最小化碰撞检测请求(例如Ray Casts和Sphere Checks),尽量从每次检查中获得更多信息。
10.真实的物理(刚体)很消耗,不要轻易使用,尽量使用自己的代码模仿假的物理。
11.对于投射物不要使用真实物理的碰撞和刚体,用自己的代码处理。
。。。。。。。
相关文章推荐
- Unity优化大全(三)之CPU-Physics
- Unity优化大全(三)之CPU-Physics
- Unity优化大全(二)之CPU-DrawCall- Batching
- Unity优化大全(四)之CPU-GC(内存回收)和Sricpt
- Unity优化大全(五)之CPU- VSync Count
- Unity优化大全(五)之CPU- VSync Count
- Unity优化大全(四)之CPU-GC(内存回收)和Sricpt
- Unity优化大全(二)之CPU-DrawCall- Batching
- Unity优化大全(四)之CPU-GC(内存回收)和Sricpt
- Unity优化大全(二)之CPU-DrawCall- Batching
- Unity优化大全(九)之 Memory - Unity3D内部的内存
- Unity优化大全(八)之 GPU-Ligh和其他
- Unity优化大全(七)之 GPU-几何体和显存宽带
- unity 优化大全
- Unity客户端优化之CPU(二):GC
- Unity优化大全(九)之 Memory - Unity3D内部的内存
- 【Unity】CPU优化
- unity游戏性能优化之cpu优化第一节
- Unity性能优化(CPU)
- Unity优化大全(七)之 GPU-几何体和显存宽带