遊戲引擎架構 第12章 碰撞及剛體動力學筆記

2021-10-07 13:22:21 字數 860 閱讀 6363

碰撞測試及解析幾何

1. 點與球體的相交

判斷點p是否在球體內,生成球心到該點的向量,然後根據向量長度與球半徑判斷。

2. 球體與球體相交

基本同上

3. 分離軸定理

若能找到乙個軸,兩個凸形狀在該軸投影不重疊,則不想交。

三維中,投影線變為投影面。

4. aabb與aabb的相交(判斷線段與立方體是否相交)

包圍體型別包括球體、軸對齊包圍盒(aabb)、有向包圍盒(obb)、8-dop以及凸殼

檢測在每個軸上的最小,最大座標。如果在3個軸上的區間都重疊,則aabb是相交的,否則不相交。

5. gjk演算法

依賴於閔可夫斯基差,a圖形中點,與b圖形中點成對相減,得到的差集合就是閔可夫斯基差

如果相減,其中包含0,則為相交。

兩個凸圖形的閔可夫斯基差也是凸圖形。

演算法流程:

從閔可夫斯基的凸包內,嘗試找乙個包含原點的四面體,如果找到,則相交。

效能優化

1. 空間劃分,不屬於同一區域,停止檢測

2. 時間一致性

3. 粗略階段,中間階段,精確階段

碰撞查詢

光線投射,形狀投射

剛體動力學,比較基礎,這裡就不做介紹了。

一般來說,物理世界存在多個剛體,可以分為三種情況。

1. 0個剛體

2. 1個剛體(大多數情況)

3. 多個剛體

特別注意:

可破壞體

遊戲引擎架構

大綱 什麼是架構?軟體架構是乙個系統的草圖,軟體架構描述的物件是直接構成系統的抽象元件。各個元件之間的連線則明確和相對細緻地描述元件之間的通訊。在實現階段,這些抽象元件被細化為實際的元件,比如具體某個類或物件。在物件導向領域中,元件之間的連線通常用介面來實現。什麼是遊戲引擎?引擎 定義元件最重要的是...

遊戲引擎架構 2

世界的燈光 在變換過程中,通常是在稱為觀察空間的座標空間中,我們遇到了最重要的運算之一 光照計算。它是一種這樣的事情,當它工作時,你不關注它,但當它不工作時,你就非常關注它了。有很多不同的光照方法,從簡單的計算多邊形對於燈光的朝向,並根據燈光到多邊形的方向和距離加上燈光顏色的百分比值,一直到產生邊緣...

架構 讀書筆記 架構即未來 第12章

孫子說 故其戰勝不忒,不忒者,其所措必勝,勝已敗者也 他們進行戰爭的勝利不會有差錯,之所以不會出現差錯,是因為他們作戰的措施建立在必勝的基礎上,是戰勝了在氣勢上已失敗的敵人 原則應該廣泛的支援未來和當前的目標。確保任何你所開發的系統在發生故障時,至少有乙個冗餘的例項。永遠不少於兩個,通常為三個 確保...