Unity 3D 性能优化(三)

物理碰撞处理中质心计算效率对比
本文通过实验对比了在物理碰撞处理中获取碰撞体质心的三种常用方式,探讨了它们在不同场景下的性能表现。实验结果显示,在碰撞不涉及刚体的情况下,采用简单几何体中心计算方式最为耗时;而在有刚体参与的情况下,则推荐使用包含刚体状态的计算方法,以提升效率。

CenterOfMass

在处理物理碰撞时,尤其是OnTrigger族消息,由于要手动计算碰撞点会经常要用到碰撞体的质心。获取质心常用的有三种方式:
1、Collider.bounds.center
2、Collider.rigidbody.worldCenterOfMass
3、Collider.attachedRigidbody.worldCenterOfMass
第一种方式其实是认为碰撞体是均匀几何体,所以取碰撞盒中心作为质心。注意,这里的Collider并不是collider属性,而是表示一个Collider引用,所以不必考虑collider属性访问引起的性能开销(其实在处理碰撞时,Collider引用是能够直接得到的,也不需要做collider属性访问)。

设计实验——针对同一个碰撞体,分别调用以上三种方式各8×1024×1024次
实验结果——第一种约4500ms,第二种约2500ms,第三种约2000ms。

在碰撞不涉及刚体的情况下,要获取质心只能使用性能最差的第一种方式。而有刚体的情况下,自然推荐使用第三种方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值