完全指南:Bounciness 與 Friction 的底層求解邏輯)
開場(chǎng):調(diào)了一個(gè)數(shù),球真的彈飛了上周做一個(gè)小球彈跳的 demo,我把 Bounciness 從 0.3 改到 0.8,本以為會(huì)有"稍微更彈"的效果,結(jié)果小球直接飛出攝像機(jī)外——這種"參數(shù)微調(diào)、世界大變"的體驗(yàn),相信每個(gè)做過(guò)物理玩法的開發(fā)者都經(jīng)歷過(guò)。更讓人抓狂的是:你以為是哪個(gè) C# 腳本偷偷改動(dòng)了速度,但翻遍代碼也沒(méi)找到;你懷疑是 FixedUpdate 時(shí)間步的問(wèn)題,調(diào)了之后手感更怪。其實(shí)問(wèn)題沒(méi)那么玄——你調(diào)的"那個(gè)數(shù)",就是物理材質(zhì)(Physic Material)里的 Bounciness 和 Friction。但"調(diào)了數(shù)就生效"這句話背后,藏著一條完整的因果鏈:參數(shù)存在哪、求解器什么時(shí)候讀它、讀完之后代入哪個(gè)方程。這篇文章就順著這條鏈,把物理材質(zhì)從"Inspector 里的兩個(gè)滑塊"還原成求解器里的兩行數(shù)學(xué)。一、物理材質(zhì)核心概念1.1 Bounciness:法線方向的恢復(fù)系數(shù)Bounciness 在物理教科書里的正式名字是恢復(fù)系數(shù)(coefficient of restitution),通常記作 e。它描述的是碰撞前后沿接觸法線方向相對(duì)速度的比值:e = |碰撞后分離速度| / |碰撞前接近速度|e = 0:完全非彈性碰撞,法向速度清零,物體"貼"在表面上(泥巴砸墻)。e = 1:完全彈性碰撞,法向速度原樣反彈,不損失動(dòng)能(理想彈球)。0~1 之間:現(xiàn)實(shí)世界的所有材料。這個(gè)定義解釋了開場(chǎng)那個(gè)事故:e 從 0.3 提到 0.8,意味著每次落地保留的法向速度從 30% 漲到