[Unity 3D] 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。
在碰撞不涉及刚体的情况下,要获取质心只能使用性能最差的第一种方式。而有刚体的情况下,自然推荐使用第三种方式。
设计实验——针对同一个碰撞体,分别调用以上三种方式各8×1024×1024次 实验结果——第一种约4500ms,第二种约2500ms,第三种约2000ms。
在碰撞不涉及刚体的情况下,要获取质心只能使用性能最差的第一种方式。而有刚体的情况下,自然推荐使用第三种方式。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。