unity official document: (Physics package concepts | Unity Physics | 1.0.0-pre.65 (unity3d.com))
Order of Simulation[1]
1. 從組件中獲取數(shù)據(jù)(狀態(tài))
Unity Physics是無狀態(tài)的,因此不保留當(dāng)前幀以前的計(jì)算結(jié)果纵散。每幀都重新從組件中獲取數(shù)據(jù)進(jìn)行計(jì)算梳码。
2. BroadPhase
這個(gè)階段通過物體是否激活等信息以及物體的包圍盒BoundingBox是否重疊,來快速篩選出可能的碰撞并剔除無用的物體伍掀。
3. NarrowPhase
這個(gè)階段使用物體的碰撞體精確地計(jì)算碰撞點(diǎn)掰茶。
4. 計(jì)算碰撞反饋
結(jié)合質(zhì)量、慣性蜜笤、摩擦濒蒋、彈性咐蚯、碰撞點(diǎn)計(jì)算碰撞反饋
5. 解析碰撞和結(jié)點(diǎn)限制關(guān)系
已知碰撞反饋蹦掐,物體之間的限制抢肛,分析受力疟羹,給物體賦予速度、角速度围橡、加速度等等
6. 推進(jìn)模擬
根據(jù)時(shí)間間隔暖混,各個(gè)物體以各自的速度運(yùn)動(dòng)
7. 應(yīng)用Transform
將計(jì)算結(jié)果寫入Transform組件中,從而影響物體的空間狀態(tài)
Components[2]
Authoring Components:
- Physics Shape :設(shè)置碰撞體形狀翁授,Physics Material參數(shù)儒恋,如摩擦、彈力黔漂,其他碰撞參數(shù)(替代舊版的Collider)
- Physics Body:設(shè)置質(zhì)量诫尽、慣性等(替代舊版的RigidBody)
- Physics Step: 一些物理的全局設(shè)置
- Physics Debug Display: Debug用,繪制輔助線條