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