我正在嘗試在遊戲中使用四叉樹進行碰撞檢測,但我不確定如何處理可能在不同四邊形之間移動的對象?使用四叉樹時,如何處理四邊形之間移動的物體?
我能想到的唯一方法是每幀清除整棵樹,然後再把所有東西都加回去,但看起來像這樣可能會導致CPU密集並且效率不高。你是否每幀都檢查每個對象,看看它是否已經移動到當前四邊形的邊界之外,如果是,則將其移除並讀取它?這又似乎可能是非常低效的,因爲你會在每一幀對每個移動物體進行碰撞檢查。
此外,關於四叉樹,但與在其中移動的對象無關,您如何處理同一四邊形中的多個對象?我讀過的大多數網站都說,你應該只有一個,也許是兩個對象,如果你得到的不僅僅是這些,而是把它們推到樹上。如果您遇到類似this的情況,該怎麼辦?你有三個圈子,他們都在他們下面的關卡邊緣,所以他們不能再往下走,但同一層有三個圈子,人們說你不應該擁有這三個圈子。
對於你用什麼四叉樹?如果你想在碰撞檢測中使用它們,那麼掃描和剪枝算法會更好。 –