推 Eric0605:那本書的確是做碰撞偵測的聖經本 03/20 22:36
※ 引述《yan04870449 (楊伯)》之銘言:
: 假如我現在有一個list裡面有目前所有有效子彈的物件,另一個
: list裡面裝有目前場景上有效的怪物,那我在檢查子彈跟怪物碰
: 撞的時候就要算 bullet list size * enemy list size 如果場
: 景上有60隻怪100個子彈,那就要跑6000次,感覺很沒有效率,不
: 知道板上有沒有前輩可以提供這類演算法的手法供小弟學習。
你可以參考這本書:
Realtime Collision Detection by Christer Ericson
裡面有一個章節在介紹空間分割, 目的就是減少碰撞的計算量
物理引擎通常會使用AABB來作第一次碰撞, 叫做broad phase
常用的方法有:
1. dynamic AABB tree
2. sort and sweep methods (sweep and prune),
通常稱作SAP, 原理是bubble sort
再來才作narrow phase, 就是細部的碰撞計算, 計算碰撞點/碰撞方向等
實作可以參考bullet physics engine, open source.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.139.157