0
說我正在將(0.5,0.5)移動到表面法線爲(-1,0)的牆中。我想最終的結果是(0,0.5),所以我不能繼續移動到牆上,但沿着表面滑動。在碰撞後從方向上消除表面軸
我該如何做到這一點?我有
comp_u = n * (maths::dot(dir,n)/maths::dot(n,n));
這使我的方向的分量垂直於碰撞的表面上,其中「n」是一個矢量垂直於碰撞的表面上,並且也可以取消這一點。但是,如果我試圖遠離牆壁,它將取消該組件,這意味着我永遠不會離開牆壁。
沿表面滑動?通常(雙關語)你會被反射離開表面。您可以通過否定(不歸零)正常分量來對此進行建模。你在建模某種非常各向異性的環境嗎? –
這不適用於任何物理,只是在遊戲中的碰撞響應。 – pighead10