Re: [程式] 關於射擊遊戲子彈與怪物碰撞的運算量
看板GameDesign (遊戲設計)作者ttshaw (InLivingEveryday)時間15年前 (2010/03/19 15:30)推噓1(1推 0噓 0→)留言1則, 1人參與討論串2/4 (看更多)
※ 引述《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
推
03/20 22:36, , 1F
03/20 22:36, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章