基於時間的碰撞檢測, 速度再快都能檢測得到

2021-08-22 17:00:31 字數 464 閱讀 8675

什麼是基於時間的碰撞檢測?

首先,了解一下,什麼是基於幀的碰撞檢測。基於幀的碰撞檢測,就是說檢測只在每一幀執行。但是不檢測相鄰幀之間的情況。因此,適合與,運動速度不快的物體的碰撞檢測。

而基於時間的碰撞檢測,考慮就要全面些。不管速度再大,也能檢測得到。

以圓與圓的碰撞檢測為例。

圓1:

x1 = xl1+xmov1*t

y1 = yl1+ymov1*t

圓2:

x2 = xl2+xmov2*t

y2 = yl2+ymov2*t

變數 xl1, yl1, xl2,  yl2 表示兩個圓在上一幀的位置情況。 t表示,從上一幀開始計時的時間,以幀為單位。

兩圓之間的距離:

如果發生碰撞的話,那麼就有一下等式:

將x1,y1,x2,y2,帶入上面的式子。就可以解出t。

t=2,說明要經過兩幀才發生碰撞。就是這個意思。

基於2D多邊形的碰撞檢測和響應 一

簡介 本文是闡述如何在2d動作遊戲中進行精確而高效的碰撞檢測。這裡的碰撞是基於多邊形而不是基於精靈的。這兩者之間在設計上會有不同。基於精靈的碰撞檢測是通過精靈之間的重疊的畫素來完成的。而多邊形使用向量數學來精確計算交點,時間和碰撞方向。雖然多邊形僅僅是精靈的乙個近似,但是它比精靈系統要高階。特性本文...

基於2D多邊形的碰撞檢測和響應 四

下面要作的是用給定的量將兩個物體分離,並新增一點摩擦和一些靜態摩擦,以便使物體靜止在斜面上。該部分使用簡單的速度影響演算法。同樣,為了使碰撞響應更加真實,物體被賦予了質量 更好的是質量的倒數 質量的倒數是比較常用的,該值為零意味著該物體具有無窮大的質量,並因此不能移動。同時速度響應中使用質量的倒數具...

基於2D多邊形的碰撞檢測和響應 五

五 處理旋轉 在許多遊戲中都可以發現一些旋轉的物體。與它們的碰撞會有一點複雜。旋轉精靈的標準做法是通過乙個簡單的角度,通常的區間是 0,2 pi 可以使用矩陣來存貯三角操作,因此乙個角度可以被轉化為2 2的矩陣 乙個簡單的處理旋轉物體碰撞的方法是儲存乙個原始多邊形的副本,並將其轉化到當前位置和角度。...