看板 GameDesign 關於我們 聯絡資訊
※ 引述《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
Eric0605:那本書的確是做碰撞偵測的聖經本 03/20 22:36