1. 程式人生 > >Unity中物體碰撞後去掉相互之間的反彈力

Unity中物體碰撞後去掉相互之間的反彈力

velocity 去掉 自制 log 還需 -c -- alt unit

最近自制了一個的角色控制器(沒有重力的角色)時發現,角色碰撞到墻壁之後會有一個小小的反彈力導致角色有一個微弱的反彈位移,這樣給人一種不好的感覺。
研究了一下,除了限制坐標軸( Rigidbody---Constraints---Freeze Rotation)外,還需要在FixedUpdate(註意這裏是物理特性,應在這裏寫而不是Update函數內)裏面寫一句代碼如下:

player.GetComponent<Rigidbody>().velocity = Vector3.zero;( Vector3.zero=new Vector3(0, 0, 0))

角色添加的組件Rigidbody設置如圖所示:

技術分享

Unity中物體碰撞後去掉相互之間的反彈力