您的位置:首页 > 移动开发 > Unity3D

Unity 3D 性能优化(三)

2015-02-28 18:02 344 查看

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。

在碰撞不涉及刚体的情况下,要获取质心只能使用性能最差的第一种方式。而有刚体的情况下,自然推荐使用第三种方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: