Unity优化大全(三)之CPU-Physics

前言:

        因为在整体学习的一些资料没来得及及时更新,现在来讲讲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.对于投射物不要使用真实物理的碰撞和刚体,用自己的代码处理。

。。。。。。。

 最后的最后

   很不完善,之后我会不断去完善,大家还有什么更好的建议可以在下面留言哦!谢谢大家微笑





    

   

     

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值